Submission #337991

#TimeUsernameProblemLanguageResultExecution timeMemory
337991Dilshod_ImomovK blocks (IZhO14_blocks)C++17
53 / 100
1092 ms620 KiB
# include <bits/stdc++.h> # define speed ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) # define int long long # define fi first # define se second using namespace std; const int N = 1e7 + 7; const int mod = 1e9 + 7; int a[N], dp[N][2]; int32_t main() { speed; int n, k; cin >> n >> k; for ( int i = 1; i <= n; i++ ) { cin >> a[i]; dp[i][0] = dp[i][1] = 1e9; } dp[0][0] = dp[0][1] = 0; for ( int j = 1; j <= k; j++ ) { for ( int i = 1; i <= n; i++ ) { int mx = a[i]; for ( int x = i - 1; x >= 0; x-- ) { if ( x == 0 ) { if ( j != 1 ) { continue; } } dp[i][1] = min( dp[i][1], dp[x][0] + mx ); // cout << i << ' ' << x << ' ' << dp[x][0] + mx << endl; mx = max( mx, a[x] ); } // cout << i << ' ' << j << ' ' << dp[i][1] << endl; } for ( int i = 1; i <= n; i++ ) { dp[i][0] = dp[i][1]; dp[i][1] = 1e9; } } cout << dp[n][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...