A83494题解
2025-12-29 17:04:42
发布于:浙江
12阅读
0回复
0点赞
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long l;
const int max=2e6+10;
struct no {
l p,a;
};
bool cmp(no x,no y)
{
return x.p<y.p;
};
no a[2000005];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++) {
cin>>a[i].p>>a[i].a;
}
sort(a+1,a+1+m,cmp);
l ans=0;
l sum=0;
int pos=0;
for(int i=1;i<=m;i++) {
if(n-ans>=a[i].a)
{
ans+=a[i].a;
sum+=a[i].p*a[i].a;
}
else {
pos=i;
break;
}
}
sum+=(n-ans)*a[pos].p;
cout<<sum<<endl;
return 0;
}
这里空空如也






有帮助,赞一个