25分,求助
查看原帖
25分,求助
1344629
lx01220122楼主2024/10/20 15:30
#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans;
struct no{
	int dj;
	int m;
	int w;
}s[10000001];
bool cmp(no a,no b){
	return a.dj>b.dj;
} 
int main(){
	cin>>m>>n;
	for(int i=1;i<=n;i++){
		cin>>s[i].m>>s[i].w;
		s[i].dj=s[i].w*s[i].m;
	}
	sort(s,s+n+1,cmp);
	int cnt=0;
	for(int i=1;i<=n;i++){
		if(s[i].m<=m){
			ans+=s[i].dj;
			m-=s[i].w; 
		}else{
			ans+=(m*s[i].m);
			break;
		} 
	}
	cout<<ans;
}
2024/10/20 15:30
加载中...