제출 #1306313

#제출 시각아이디문제언어결과실행 시간메모리
1306313michael12K개의 묶음 (IZhO14_blocks)C++20
53 / 100
1058 ms2736 KiB
#include<bits/stdc++.h> #define ff first #define ss second #define pb push_back #define mp make_pair using namespace std; const long long INF = 1e18; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, K; cin >> N >> K; vector<int> a(N+1); for (int i = 1; i <= N; i++){ cin >> a[i]; } vector<vector<long long>> dp(K+1, vector<long long>(N+1, INF)); dp[0][0] = 0; for (int k = 1; k <= K; k++) { for (int i = 1; i <= N; i++) { long long mx = 0; for (int j = i; j >= 1; j--) { mx = max(mx, (long long)a[j]); dp[k][i] = min(dp[k][i], dp[k-1][j-1] + mx); } } } cout << dp[K][N] << "\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...