Submission #1165628

#TimeUsernameProblemLanguageResultExecution timeMemory
1165628spycoderytFeast (NOI19_feast)C++20
0 / 100
78 ms10840 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 = 0;i<n;i++)cin>>a[i]; for(int j = 0;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-1][k-1][0],dp[n-1][k-1][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...