0
已解决
吴子尧
中级守护
中级守护
题目链接: 酷町堂:2605
#include<iostream>
#include<algorithm>
using namespace std;
int t,n;
struct node{
int p,a;
}a[2000005];
bool cmp(node x,node y){
return x.p<y.p;
}
int main(){
int s=0,j=0;
cin>>t>>n;
for(int i=1;i<=n;i++){
cin>>a[i].p>>a[i].a;
}
sort(a+1,a+n+1,cmp);
while(t!=0){
j++;
if(a[j].a<t){
s+=a[j].a*a[j].p;
t-=a[j].a;
}else{
s+=n*a[j].p;
t=0;
}
}
cout<<s;
return 0;
}