Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long long int ans;
- long long int a[10000000], fff[102][100];
- long long LESS = (long long)-100000 * (long long)100000;
- long long F(long long int min_stopochek,long long int summ_vis){
- if((min_stopochek > summ_vis))
- return LESS;
- ans = 0;
- for(int i = 1; i <= summ_vis; i++)
- if(summ_vis - i >= 0) {
- ans = max(ans, fff[min_stopochek - 1][summ_vis - i] + a[i - 1]);
- }
- return ans;
- }
- int main()
- {
- // freopen("a.in", "r", stdin);
- long long int n, k;
- cin >> n >> k;
- for(int i = 0; i < n; i++)
- cin >> a[i];
- long long an = 0;
- for(int i= 1; i <= 100; i++)
- for (int j = 0; j <= 100; j++)
- fff[i][j] = F(i, j);
- fff[0][0] = 0;
- if((n > k) || (2 * k > n)){
- for (int i = k - n; i <= k; i++)
- an = max(an, fff[i][n]);
- cout << an;
- }
- else
- cout << "Imp";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement