Submission #1312214

#TimeUsernameProblemLanguageResultExecution timeMemory
1312214aryanFeast (NOI19_feast)C++20
0 / 100
172 ms327680 KiB
#include<bits/stdc++.h>
using namespace std;

using i64 = long long;


int main(){
        
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n,k;
    cin >> n >> k;
    vector<int> a(n);
    for(int i = 0;i < n;i++){
        cin >> a[i];
    }
    const i64 inf = 1e18;
    vector<vector<i64>> dp(n + 1,vector<i64>(k + 1,-inf));
    for(int i = 0;i <= n;i++) dp[i][0] = 0;
    for(int i = 0;i <= k;i++) dp[n][i] = 0;

    vector<i64> suff(k + 1,0);
    for(int i = n - 1;i >= 0;i--){
        for(int j = 1;j <= k;j++){
           dp[i][j] = dp[i + 1][j] + a[i];
           dp[i][j] = max(dp[i][j],suff[j - 1]);
           suff[j] = max(suff[j],dp[i][j]);
        }
    }
    i64 ans = 0;
    for(int i = 0;i < n;i++){
        ans = max(ans,dp[i][k]);
    }
    cout << ans << '\n';
    return 0;
}
#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...