1.3.1Mixing Milk

  
    
  1. /*
  2. ID: awsd1231
  3. PROG: milk
  4. LANG: C++
  5. */
  6. #include<iostream>
  7. #include<cstdio>
  8. #include<map>
  9. #include<algorithm>
  10. using namespace std;
  11. const int maxn =5000 + 10;
  12. int n, m;
  13. struct Pa {
  14. int p;
  15. int pa;
  16. };
  17. Pa pa[maxn];
  18. bool operator < ( Pa a, Pa b) {
  19. if(a.p < b.p) return true;
  20. else return false;
  21. }
  22. int main() {
  23. freopen("milk.in", "r", stdin);
  24. freopen("milk.out", "w", stdout);
  25. cin >> n >> m;
  26. for(int i = 0; i != m; ++i)
  27. cin >> pa[i].p >> pa[i].pa;
  28. sort(pa, pa+m);
  29. int need = n, cost = 0, idx = 0;
  30. while(need > 0) {
  31. cost += pa[idx].p * pa[idx].pa;
  32. need -= pa[idx++].pa;
  33. }
  34. cost -= pa[--idx].p * pa[idx].pa;
  35. need += pa[idx].pa;
  36. while(need--)
  37. cost += pa[idx].p;
  38. cout << cost << endl;
  39. return 0;
  40. }





你可能感兴趣的:(in)