90pts,WA第一个点
查看原帖
90pts,WA第一个点
745946
KirinRYato楼主2023/9/29 13:18
#include<bits/stdc++.h>
using namespace std;using namespace std;
const int N=1e7+5;
long long n,t,sum=0;
struct nums{
	int a,b;
	double sum;
}dp[N];
bool cmp(nums a,nums b){
	return a.sum>b.sum;
}
int main(){
	cin>>t>>n;
	for(long long i=1;i<=n;i++){
		cin>>dp[i].a>>dp[i].b;
		dp[i].sum=dp[i].b;
		dp[i].sum/=dp[i].a;
	}
	sort(dp+1,dp+1+n,cmp);
	long long i=1;
	while(t>0&&i<=n){
		if(t<dp[i].a){i++;continue;}
		t-=dp[i].a;
		sum+=dp[i].b;
	}
	cout<<sum;
	return 0;
}
2023/9/29 13:18
加载中...