Advertisement
Dennnhhhickk

Untitled

Apr 23rd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. typedef long long ll;
  5. vector <ll> temp2;
  6.  
  7. int main()
  8. {
  9. int n, l, k, x, y;
  10. cin >> l >> n >> k;
  11. vector <ll> temp, dp, temp1, dp1;
  12. vector <vector <ll> > c(n);
  13.  
  14. for (int i = 0; i < l; i++)
  15. temp1.push_back(0);
  16.  
  17. for (int i = 0; i < n; i++){
  18. temp2 = temp1;
  19. for (int j = 0; j < 4; j++){
  20. cin >> x >> y;
  21. for (int ii = 0; ii <= x; ii++)
  22. temp2[ii] += y / (1 + x - ii);
  23. }
  24. for (int j = 0; j < temp2.size(); j++)
  25. c[i].push_back(temp2[j]);
  26. }
  27. dp = temp1;
  28.  
  29. /*for (int i = 0; i < c.size(); i++){
  30. for (int j = 0; j < c[i].size(); j++)
  31. cout << c[i][j] << " ";
  32. cout << endl;
  33. }*/
  34.  
  35. for (int ii = 0; ii < c.size(); ii++){
  36. dp1 = temp1;
  37. for (int i = 0; i < dp.size(); i++)
  38. for (int j = max(0, i - k); j <= min(l - 1, i + k); j++)
  39. dp1[j] = max(dp1[j], dp[i] + c[ii][j]);
  40. dp = dp1;
  41. /*for (int i = 0; i < dp.size(); i++)
  42. cout << dp[i] << " ";
  43. cout << endl;*/
  44. }
  45.  
  46. ll mxx = 0;
  47. for (int i = 0; i < dp.size(); i++)
  48. mxx = max(mxx, dp[i]);
  49.  
  50. cout << mxx << endl;
  51. return 0;
  52. }
  53.  
  54. /*
  55. 9 1 9
  56. 2 6000 2 6000 2 6000 2 6000
  57.  
  58. 9 7 9
  59. 2 6000 2 6000 2 6000 2 6000
  60. 2 6000 2 6000 2 6000 2 6000
  61. 2 6000 2 6000 2 6000 2 6000
  62. 2 6000 2 6000 2 6000 2 6000
  63. 2 6000 2 6000 2 6000 2 6000
  64. 2 6000 2 6000 2 6000 2 6000
  65. 2 6000 2 6000 2 6000 2 6000
  66. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement