제출 #369482

#제출 시각아이디문제언어결과실행 시간메모리
369482MilosMilutinovicK개의 묶음 (IZhO14_blocks)C++14
53 / 100
1083 ms1772 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, k; cin >> n >> k; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } const int inf = (int) 1e9; vector<vector<int>> dp(n, vector<int>(k, inf)); int curr = 0; for (int i = 0; i < n; i++) { curr = max(curr, a[i]); dp[i][0] = curr; } for (int i = 1; i < k; i++) { for (int j = 0; j < n; j++) { int mx = a[j]; for (int l = j - 1; l >= 0; l--) { dp[j][i] = min(dp[j][i], dp[l][i - 1] + mx); mx = max(mx, a[l]); } } } cout << dp[n - 1][k - 1] << '\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...