求帮忙看看赛马不过的原因 本地OK的
#include<iostream> 
#include<cmath>
#include<iomanip>
#include<map>
#include<unordered_map>
#include<vector>
#include<list>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
	int m, n;
	while (cin >> n >> m)
	{
		int temp, min_val = 0, max_val = 0;;
		vector<int>total;
		string food_input;
		unordered_map<string, int> food;
		for (int i = 0; i < n; ++i)
		{
			cin >> temp;
			cin.get();
			total.push_back(temp);
		}
		sort(total.begin(), total.end());
		for (int i = 0; i < m; ++i)
		{
			getline(cin, food_input);
			food[food_input]++;
		}

		vector<pair<string, int>> xmliu;
		for (auto it = food.begin(); it != food.end(); ++it)
			xmliu.push_back(make_pair(it->first, it->second));
		sort(xmliu.begin(), xmliu.end(), [](const pair<string, int> &x, const pair<string, int> &y) -> int {
			return x.second < y.second;});
		int j = 0;
		for (auto it = xmliu.rbegin(); it != xmliu.rend(); ++it)
		{
			min_val += (it->second * total[j]);
			++j;
		}
		j = total.size() - 1;
		for (auto it = xmliu.rbegin(); it != xmliu.rend(); ++it)
		{
			max_val += (it->second * total[j]);
			--j;
		}
		cout << min_val << " " << max_val << endl;

	}
	return 0;
}