Submission #1165629

#TimeUsernameProblemLanguageResultExecution timeMemory
1165629spycoderytFeast (NOI19_feast)C++20
0 / 100
78 ms10816 KiB
#include <bits/stdc++.h> #define int long long using namespace std; /* instead of enforcing K, we find the lambda that produces K, then just do cost + lambda * K */ const int N = 3e5+5; int a[N],dp[2005][2005][2]; int32_t main() { int n,k; cin >> n >> k; for(int i = 1;i<=n;i++)cin>>a[i]; for(int j = 1;j<=k;j++) { for(int i = j;i<=n;i++) { dp[i][j][0] = max(dp[i-1][j][0],dp[i-1][j][1]); dp[i][j][1] = max(dp[i-1][j-1][0] + a[i], dp[i-1][j][1] + a[i]); // cerr << i << " " << j << " " << dp[i][j][0] << " " << dp[i][j][1]<<"\n"; } } cout << max(dp[n][k][0],dp[n][k][1]); }
#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...