Submission #142104

#TimeUsernameProblemLanguageResultExecution timeMemory
142104meatrowK blocks (IZhO14_blocks)C++17
0 / 100
10 ms764 KiB
#pragma GCC optimize("O3") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,tune=native") //#pragma GCC optimize ("unroll-loops") #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 101; int dp[N][N]; int c[N][N]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n, k; cin >> n >> k; vector<int> a(n); for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 1; i <= n; i++) { for (int j = i; j <= n; j++) { c[i][j] = max(c[i][j - 1], a[j]); } } for (int j = 1; j <= k; j++) { dp[0][j] = INT32_MAX; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= k; j++) { dp[i][j] = INT32_MAX; for (int t = 0; t < i; t++) { if (dp[t][j - 1] != INT32_MAX) { dp[i][j] = min(dp[i][j], dp[t][j - 1] + c[t + 1][i]); } } } } cout << dp[n][k]; 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...