标签:
这是一道普及组的题目。。。
最难的部分就是初中生可能看不懂英文题目。
毕竟才1003.
1 #include<cstdio> 2 #include<algorithm> 3 4 #define MAXM 5010 5 6 struct point{ 7 int pri, amo; 8 bool operator < (const point& b) const{ 9 return pri < b.pri; 10 } 11 }; 12 13 point a[MAXM]; 14 15 int main(void) 16 { 17 int N, M; 18 int ans = 0; 19 scanf("%d%d", &N, &M); 20 for(int i = 0; i < M; ++i) scanf("%d%d", &a[i].pri, &a[i].amo); 21 std::sort(a, a+M); 22 //for(int i = 0; i < M; ++i) printf("%d", a[i].pri); 23 for(int i = 0; i < M; ++i){ 24 if(a[i].amo >= N){ 25 ans += N * a[i].pri; 26 break; 27 } 28 else{ 29 ans += a[i].amo * a[i].pri; 30 N -= a[i].amo; 31 } 32 } 33 printf("%d\n", ans); 34 35 return 0; 36 }
1.又不会用sort了。。。百度了老半天。 std::sort(a, a+n, cmp);
标签:
原文地址:http://www.cnblogs.com/xuezhonghao/p/4868912.html