Submission #753042

#TimeUsernameProblemLanguageResultExecution timeMemory
753042OlympiaK blocks (IZhO14_blocks)C++17
0 / 100
1 ms316 KiB
#include <vector> #include <iostream> #include <cassert> #include <cmath> #include <map> #include <set> using namespace std; int main () { ios_base::sync_with_stdio(false); cin.tie(NULL); int N, K; cin >> N >> K; int64_t arr[N]; for (int i = 0; i < N; i++) { cin >> arr[i]; } int64_t INF = 1e17; int64_t dp[N + 1][K + 1]; for (int i = 0; i <= N; i++) { for (int j = 0; j <= K; j++) { dp[i][j] = INF; } } for (int i = 0; i <= N; i++) { if (i != 0) { dp[i][1] = 0; for (int l = 0; l < i; l++) { dp[i][1] = max(dp[i][1], arr[l]); } } for (int j = 2; j <= K; j++) { int64_t myMax = 0; for (int l = i - 1; l >= 0; l--) { myMax = max(myMax, arr[l]); dp[i][j] = min(dp[i][j], dp[l][j - 1] + myMax); } cout << i << " " << j << " " << dp[i][j] << endl; } } cout << dp[N][K] << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...