https://codeforces.com/problemset/problem/12/C
题意:
给你n个价格 m个水果 你可以对水果按照你喜欢的价格标价 问你买完所有水果的最大开销和最小开销
样例:
思路: 就是将出现次数最多的水果标上最小的价格就可以求最大 同理 求最小 所以我们需要用到Map来处理出现次数
问题: map不好排序,去博客上学了挺久的 it->second的排序,好繁琐没看懂
题解: 我们可以使用idx(下标来) 将map的值映射过来,所以处理如下:
code:
#include
using namespace std;
const int N = 110;
map mp;
int n,m;
int num[N] ;
int price[N];
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
cin>>n>>m;
int idx = 1;
for(int i= 0; i>price[i];
for(int i=0; i>temp;
if(!mp[temp])
mp[temp] = idx++;
num[mp[temp]] ++;
}
sort(price,price+n);
sort(num+1,num+1+idx,cmp);
int minn = 0;
int maxn = 0;
int k = 0;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?