제출 #309924

#제출 시각아이디문제언어결과실행 시간메모리
309924sontruong02003K개의 묶음 (IZhO14_blocks)C++14
53 / 100
1081 ms1536 KiB
#include <bits/stdc++.h>

using namespace std;
const int oo = 1000111000;

int n, k;
int a[100005];
int f[105][100005];
int32_t main()
{
    cin >> n >> k;
    for (int i=0;i<=k;i++)
    for (int j=0;j<=n;j++) f[i][j]=oo;
    f[0][0]=0;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        //f[0][i]=0;
    }
    
    for (int i = 1; i <= k; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            int m = 0;
            for (int l = j - 1; l >= 0; l--)
            {
                m=max(a[l+1],m);
                f[i][j] = min(f[i - 1][l] + m, f[i][j]);
            }
        }
    }
    cout<<f[k][n];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...