제출 #1019179

#제출 시각아이디문제언어결과실행 시간메모리
1019179andrewpK개의 묶음 (IZhO14_blocks)C++17
53 / 100
1078 ms10588 KiB
//Dedicated to my love, ivaziva
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ar array
#define DBG(x) cout << #x << "= " << x << "\n"

const int mxN=1e5;
const ll inf=(ll)(1e18);
int n, k;
ll a[mxN], dp[mxN][105];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

    cin >> n >> k;
    for(int i=1; i<=n; ++i) cin >> a[i];
    for(int i=0; i<=n; ++i) {
        for(int j=0; j<=k; ++j) dp[i][j]=inf;
    }
    dp[0][0]=0;
    for(int i=1; i<=n; ++i) {
        for(int j=1; j<=k; ++j) {
            if(j>i) break;
            ll mx=a[i];
            for(int it=i-1; it>=0; --it) {
                dp[i][j]=min(dp[i][j], dp[it][j-1]+mx);
                mx=max(mx, a[it]);
            }
        }
    }
    cout << dp[n][k] << "\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...