Advertisement
Dennnhhhickk

Untitled

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