求助!!24分
查看原帖
求助!!24分
519573
Daniel_yao楼主2022/2/9 16:24
#include<bits/stdc++.h>
using namespace std;
const int N = 5005;
struct node{
	int a, p;
}t[N];
int n, m;
int ans;
bool cmp(node x, node y){
	return x.p < y.p;
}

int main(){
	cin >> n >> m;
	for(int i = 1;i <= m;i++){
		cin >> t[i].p >> t[i].a;
	}
	sort(t+1, t+1+m, cmp);
	int i = 1;
	while(n >= 0){
		if(n >= t[i].a){
			n -= t[i].a;
			ans += t[i].a * t[i].p; 
		}
		else{
			t[i].a -= n;
			ans += t[i].a * t[i].p;
			cout << ans;
			return 0;
		}
		i++;
	}
	cout << ans;
	return 0;
} 
2022/2/9 16:24
加载中...