제출 #688504

#제출 시각아이디문제언어결과실행 시간메모리
688504luka1234K개의 묶음 (IZhO14_blocks)C++14
53 / 100
2 ms340 KiB
#include <bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define epb emplace_back
#define ull unsigned ll
using namespace std;
int n,m;
int a[101];
int dp[101][101];
int main(){
	cin>>n>>m;
	for(int k=1;k<=n;k++){
		cin>>a[k];
	}
	for(int i=0;i<=100;i++){
		for(int j=0;j<=100;j++){
			dp[i][j]=1e9;
		}
	}
	dp[1][1]=a[1];
	int gmx=a[1];
	for(int i=2;i<=n;i++){
		gmx=max(gmx,a[i]);
		dp[i][1]=gmx;
		for(int j=2;j<=i;j++){
			int f=1e9;
			int mx=a[i];
			for(int k=i-1;k>=1;k--){
				f=min(f,dp[k][j-1]+mx);
				mx=max(mx,a[k]);
			}
			dp[i][j]=f;
		}
	}
	cout<<dp[n][m];
    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...