Submission #795959

#TimeUsernameProblemLanguageResultExecution timeMemory
79595912345678Feast (NOI19_feast)C++17
41 / 100
264 ms143904 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int nx=3e3+5;
ll n, k, dp[nx][nx], v[nx], qs[nx], mx[nx];

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>k;
    for (int i=1; i<=n; i++) cin>>v[i], qs[i]=qs[i-1]+v[i];
    for (int i=1; i<=n; i++)
    {
        for (int j=0; j<=k; j++)
        {
            dp[i][j]=dp[i-1][j];
            if (j>0) dp[i][j]=max(mx[j-1]+qs[i], dp[i][j]);
            mx[j]=max(mx[j], dp[i][j]-qs[i]);
            //cout<<i<<' '<<j<<' '<<dp[i][j]<<'\n';
        }
    }
    cout<<dp[n][k];
}
#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...