3AC 5RE 求助1!
查看原帖
3AC 5RE 求助1!
269233
shzps楼主2024/7/17 10:05
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int m = 0, n = 0;

struct Milk {
	int price, mess;
};
vector<Milk> M;

bool cmp(Milk a, Milk b) {
	if (a.price != b.price)
		return a.price < b.price;
	if (a.price == b.price)
		return a.mess > b.mess;
	cout << "Error in Compare" << endl;
	return 20342;
}

int inso() {
	cin >> m >> n;
	M.resize(n);
	for (int i = 0; i < n; i++) {
		Milk m2;
		cin >> m2.price >> m2.mess;
		M.push_back(m2);
	}
	int ans = 0, ans2 = 0;
	sort(M.begin(), M.end(), cmp);
	for (int i = 0; i < n; i++) {
		if (ans2 + M[i].mess <= m) {
			ans2 += M[i].mess;
			ans += M[i].price * M[i].mess;
		}
		if (ans2 < m && ans2 + M[i].mess > m) {
			ans += M[i].price * (m - ans2);
			return ans;
		}
	}
}

int main() {
	int ans = inso();
	cout << ans;
	return 0;
}
2024/7/17 10:05
加载中...