76分 求助
查看原帖
76分 求助
1414463
huzikang楼主2024/11/12 15:22
#include <bits/stdc++.h>
using namespace std;
struct trader {
	int price;
	int sizee;
};
trader trade[2000005];
int n, m,sum,ans;
bool cmp(trader a, trader b) {
	return a.price < b.price;
}
int main() {
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>trade[i].price>>trade[i].sizee;
	}
	sort(trade+1,trade+m+1,cmp);
	int i=1;
	while(sum+trade[i].sizee<=n){
		sum+=trade[i].sizee;
		ans+=trade[i].price*trade[i].sizee;
		i++;
	}
	ans+=trade[i].price*(n-sum);
	cout<<ans;
	return 0;
}
2024/11/12 15:22
加载中...