Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define READ freopen("in.txt", "r", stdin);
  4.  
  5. #define mx 100005
  6.  
  7. using namespace std;
  8.  
  9. double value[mx], weight[mx];
  10.  
  11. struct val
  12. {
  13. double per, kg;
  14. }item[mx];
  15.  
  16. bool compare(val a, val b)
  17. {
  18. return a.per>b.per;
  19. }
  20.  
  21. int main()
  22. {
  23. //READ
  24. double need, ans=0;
  25. int n;
  26.  
  27. cin >> need >> n;
  28.  
  29. need = need*need*need;
  30.  
  31. for(int i = 0; i < n; i++)
  32. {
  33. cin >> weight[i];
  34. cin >> value[i];
  35. }
  36.  
  37. //for(int i = 0; i < n; i++)
  38.  
  39. for(int i = 0; i < n; i++)
  40. {
  41. item[i].per = value[i]/weight[i];
  42. item[i].kg = weight[i];
  43. }
  44.  
  45. sort(item, item+n, compare);
  46.  
  47. for(int i = 0; i < n; i++)
  48. {
  49. if(need==0) break;
  50. else if(item[i].kg<=need)
  51. {
  52. need -= item[i].kg;
  53. ans += (item[i].kg*item[i].per);
  54. }
  55. else
  56. {
  57. ans += (item[i].per*need);
  58. need = 0;
  59. }
  60. }
  61.  
  62. cout << ans << endl;
  63.  
  64.  
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement