Submission #1296118

#TimeUsernameProblemLanguageResultExecution timeMemory
1296118chaitanyamehtaFeast (NOI19_feast)C++20
59 / 100
1096 ms7836 KiB
// https://static.oj.uz/problem/16d3e3748d52997353f58d61d6e89b4/statement/41e54ac7d5af210510f0e15513412d0b31cf8ee951506602d2b538eca57ecab0/statement_en.pdf

#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
    ios::sync_with_stdio(0) , cin.tie(0) , cout.tie(0);
    int n , k;
    cin>>n>>k;
    vector<int> a(n+1);
    for(int i = 1 ; i <= n ; i++)cin>>a[i];
    
    
    vector<int> prev(n + 1 , 0) , curr(n + 1 , 0);
    for(int i = 1 ; i<=k;i++){
        int maxx = 0;
        for(int j = 1 ; j<=n;j++){

            // int masx = *max_element(prev.begin() , prev.begin()+j-1);
            maxx = max(maxx , prev[j-1]);

            curr[j]= max(maxx , curr[j-1])+a[j];
        }
        prev = curr;
    }
    // for(int i = 0 ; i <= k ; i++){
    //     for(int j =0;j<=n;j++){
    //         cout<<dp[i][j]<<" ";
    //     }
    //     cout<<"\n";
    // }
    int masx = *max_element(curr.begin() , curr.end());
    // for(int i = 0 ;i <= n ;i++)cout<<curr[i] << " ";
    // cout<<"\n";
    cout<<masx;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...