제출 #1208059

#제출 시각아이디문제언어결과실행 시간메모리
1208059gatapdevK개의 묶음 (IZhO14_blocks)C++20
53 / 100
1096 ms8260 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int a[100001]; int dp[10001][101]; signed main(){ int n,K; cin>>n>>K; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++) for(int j=1;j<=K;j++) dp[i][j]=INT_MAX; for(int i=1;i<=n;i++) dp[i][1]=max(dp[i-1][1],a[i]); for(int i=1;i<=n;i++){ for(int j=2;j<=i;j++){ int mx=-1; for(int k=j;k<=i;k++) mx=max(mx,a[k]); for(int k=2;k<=min(i,K);k++){ dp[i][k]=min(dp[i][k],dp[j-1][k-1]+mx); } } } cout<<dp[n][K]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...