简单贪心 没什么好说的
/* ID: Jang Lawrence PROG: milk LANG: C++ */ #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int n,m; struct ps { int p,num; }a[5010]; bool cmp(ps p,ps q) { return p.p<q.p; } int main() { freopen("milk.in","r",stdin); freopen("milk.out","w",stdout); scanf("%d%d",&n,&m); for(int i=1;i<=m;++i) scanf("%d%d",&a[i].p,&a[i].num); sort(a+1,a+1+m,cmp); long long ans=0; int i=1; while(n) { if(n>=a[i].num) { n-=a[i].num; ans+=a[i].p*a[i].num; } else { ans+=n*a[i].p; n=0; } ++i; } printf("%lld\n",ans); return 0; }