1 solutions
-
0
C++ :
#include<cstdio> #include<algorithm> using namespace std; struct p { int num; int pr; }a[1005]; int comp(const p &a,const p &b) { if(a.pr<b.pr)return 1; else return 0; } int main() { int m,n; scanf("%d%d",&m,&n); for(int i=1;i<=n;++i) scanf("%d%d",&a[i].pr,&a[i].num); sort(a+1,a+n+1,comp); int i=0,ans=0; while(m>0) { ++i; if(m>=a[i].num) { ans+=a[i].num*a[i].pr; m-=a[i].num; continue; } if(m<=a[i].num) { ans+=m*a[i].pr; m=0; continue; } } printf("%d",ans); return 0; }
- 1
Information
- ID
- 18964
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By