30pts,问题在于剩余钱数,求条
查看原帖
30pts,问题在于剩余钱数,求条
1360746
Finner_forgeter楼主2024/8/19 10:28

rt

#include<bits/stdc++.h>
using namespace std;
struct e{
	int j,z,cj;
} a[30005];
int main(){
	int n,m,zyd=0,s=0;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a[i].j>>a[i].z;
		a[i].cj=a[i].j*a[i].z;
	}
	for(int i=1;i<=m;i++){
		for(int j=i;j<=m;j++){
			if(a[i].cj<a[j].cj)
			swap(a[i],a[j]);
		}
	}
	for(int i=1;i<=m;i++){
		if(s+a[i].j>n)
		continue;
		s+=a[i].j;
		zyd+=a[i].cj;
	}cout<<zyd;
	return 0;
}
2024/8/19 10:28
加载中...