Submission #1209932

#TimeUsernameProblemLanguageResultExecution timeMemory
1209932iicuongFeast (NOI19_feast)C++20
18 / 100
1095 ms7256 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int n, k;
    cin >> n >> k;
    vector<long long> a(n + 1);
    for(int i = 1; i <= n; ++i){
        cin >> a[i];
    }
    vector<long long> dp(n + 1, 0);
    for(int j = 1; j <= k; ++j){
        vector<long long> dp_curr(n + 1, LLONG_MIN);
        long long max_val = LLONG_MIN;
        long long curr_sum = 0;
        int start = 0;
        curr_sum = 0;
        for(int i = 1; i <= n; ++i){
            curr_sum += a[i];
            max_val = max(max_val, dp[i - 1] - curr_sum + a[i]);
            dp_curr[i] = max(dp_curr[i - 1], max_val + curr_sum);
        }
        dp = dp_curr;
    }
    cout << dp[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...