Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
67
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. using namespace std;
  4.  
  5. long long int ans;
  6. long long int a[10000000], fff[102][100];
  7. long long LESS = (long long)-100000 * (long long)100000;
  8.  
  9. long long F(long long int min_stopochek,long long int summ_vis){
  10. if((min_stopochek > summ_vis))
  11. return LESS;
  12. ans = 0;
  13. for(int i = 1; i <= summ_vis; i++)
  14. if(summ_vis - i >= 0) {
  15. ans = max(ans, fff[min_stopochek - 1][summ_vis - i] + a[i - 1]);
  16. }
  17. return ans;
  18. }
  19.  
  20.  
  21. int main()
  22. {
  23. // freopen("a.in", "r", stdin);
  24. long long int n, k;
  25. cin >> n >> k;
  26. for(int i = 0; i < n; i++)
  27. cin >> a[i];
  28. long long an = 0;
  29. for(int i= 1; i <= 100; i++)
  30. for (int j = 0; j <= 100; j++)
  31. fff[i][j] = F(i, j);
  32. fff[0][0] = 0;
  33. if((n > k) || (2 * k > n)){
  34. for (int i = k - n; i <= k; i++)
  35. an = max(an, fff[i][n]);
  36. cout << an;
  37. }
  38. else
  39. cout << "Imp";
  40. return 0;
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement