Submission #639594

#TimeUsernameProblemLanguageResultExecution timeMemory
639594luanaamorimK blocks (IZhO14_blocks)C++14
0 / 100
1 ms212 KiB
#include <iostream> #include <queue> #include <string> #include <algorithm> #include <vector> #include <cmath> #include <iomanip> #include <map> #include <cstring> #include <set> #include <stack> #include <bitset> #define MAX (int) 2e3 #define ll long long #define INF (ll)1e9 using namespace std; ll n, m, arr[MAX], dp[MAX][101], maior[MAX][MAX]; int main() { cin >> n >> m; for (int i = 1; i <= n; i++) cin >> arr[i]; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) maior[i][j] = max(arr[j], maior[i][j-1]); for (int i = 0; i <= n+1; i++) for (int j = 0; j <= m; j++) dp[i][j] = INF; dp[n+1][0] = 0; for (int i = n; i >= 1; i--) { for (int k = 1; k <= m; k++) { for (int j = i; j <= n; j++) dp[i][k] = min(dp[i][k], dp[j+1][k-1] + maior[i][j]); } } cout << dp[1][m] << 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...