老是48分,求助。
查看原帖
老是48分,求助。
1271070
Wh1spers0fTheW1nd楼主2024/4/4 17:15

#include<bits/stdc++.h> using namespace std; struct nn{ int p,a; }a[5005]; int n,m,sum,sun; bool cmp(nn x,nn y){ if(x.p!=y.p) return x.p<y.p; return x.a>y.a; } int main() { cin>>n>>m; for(int i=1;i<=m;i++){ cin>>a[i].p>>a[i].a; } sort(a+1,a+1+n,cmp); int i=1; while(sun!=n){ if(sun+a[i].a<=n){ sun+=a[i].a; sum+=a[i].a*a[i].p; }else{ sum+=(n-sun)*a[i].p; sun=n; } i++; } cout<<sum; return 0; }

2024/4/4 17:15
加载中...