关注
#include<vector>
#include<algorithm>
#include<stack>
#include<iostream>
#include<math.h>
#include<map>
#include<string>
using namespace std;
void MinMaxsum(vector<string>material, vector<int>price)
{
sort(price.begin(), price.end());
map<string, int>m;
for (int i = 0; i < material.size(); i++)
{
if (m.find(material[i]) == m.end())
m[material[i]] = 1;
else
m[material[i]]++;
}
vector<int>sorts;
for (map<string, int>::iterator it = m.begin(); it != m.end(); it++)
{
sorts.push_back((it->second));
}
sort(sorts.begin(), sorts.end());
int n = sorts.size();
int min_val = 0;
int max_val = 0;
reverse(sorts.begin(), sorts.end());
for (int i = 0; i < n; i++)
{
min_val += sorts[i] * price[i];
}
reverse(price.begin(), price.end());
for (int i = 0; i < n; i++)
{
max_val += sorts[i] * price[i];
}
cout << min_val << " " << max_val << endl;
}
int main()
{
int n;
while (cin>>n)
{
int m;
vector<int>prices;
cin >> m;
for (int i = 0; i < n; i++)
{
int temp;
cin >> temp;
prices.push_back(temp);
}
vector<string>materials;
for (int i = 0; i < m; i++)
{
string temp;
cin >> temp;
materials.push_back(temp);
}
MinMaxsum(materials, prices);
}
return 0;
}
我这个AC了
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你被哪些公司秒挂过? #
7228次浏览 105人参与
# 26届的你们有几段实习? #
2214次浏览 54人参与
# 如何提高实习转正率? #
4518次浏览 89人参与
# 第一份工作应该只看薪资吗 #
152691次浏览 1530人参与
# 大厂面试初体验 #
11695次浏览 82人参与
# 你想留在一线还是回老家? #
48848次浏览 503人参与
# 你认为哪些项目算烂大街? #
2889次浏览 77人参与
# 选完offer后,你后悔学本专业吗 #
47780次浏览 239人参与
# 你后悔自己读研吗? #
3873次浏览 111人参与
# 拼多多工作体验 #
29407次浏览 201人参与
# 你以为的实习VS真实的实习 #
3306次浏览 58人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
9479次浏览 119人参与
# 月薪多少能在一线城市生存 #
4797次浏览 103人参与
# 最难的技术面是哪家公司? #
2326次浏览 35人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
113858次浏览 792人参与
# leader认为你工作不认真怎么办 #
31852次浏览 150人参与
# 如果公司降薪,你会跳槽吗? #
79972次浏览 588人参与
# 如果可以,你希望哪个公司来捞你 #
103621次浏览 496人参与
# 妈妈治愈了你哪些脆皮时刻 #
29309次浏览 321人参与
# 如果公司给你放一天假,你会怎么度过? #
17547次浏览 129人参与