Submission #766947

#TimeUsernameProblemLanguageResultExecution timeMemory
766947aris12345678K blocks (IZhO14_blocks)C++14
53 / 100
1073 ms4436 KiB
#include <bits/stdc++.h> using namespace std; const int mxN = 1e5+5; const int mxK = 105; int a[mxN], dp[mxN][mxK]; int main() { int n, k; scanf("%d %d", &n, &k); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); dp[i][1] = max(dp[i-1][1], a[i]); } // for(int i = 1; i <= n; i++) // cout << dp[i][1] << " "; // cout << "\n"; for(int j = 2; j <= k; j++) { for(int i = 1; i <= n; i++) dp[i][j] = INT_MAX; for(int i = j; i <= n; i++) { int mx = 0; for(int u = i; u >= j; u--) { mx = max(mx, a[u]); // cout << dp[i][j] << " " << mx << " " << dp[u-1][j-1] << "\n"; dp[i][j] = min(dp[i][j], mx+dp[u-1][j-1]); } // cout << dp[i][j] << " "; } // cout << "\n"; } printf("%d\n", dp[n][k]); return 0; }

Compilation message (stderr)

blocks.cpp: In function 'int main()':
blocks.cpp:10:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     scanf("%d %d", &n, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~
blocks.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |         scanf("%d", &a[i]);
      |         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...