Submission #1228759

#TimeUsernameProblemLanguageResultExecution timeMemory
1228759nguthianmangcayStove (JOI18_stove)C++20
50 / 100
24 ms47432 KiB
#include<bits/stdc++.h>
using namespace std;
const int N=5e3+3;
const int inf=1e9+3;
#define ll long long
#define fi first
#define se second
#define pi pair
int a[N];
int dp[N][N];
int main(){
    cin.tie(0)->sync_with_stdio(0);
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=0;i<k;i++){
        dp[1][i]=1;
    }
    for(int i=1;i<=n;i++){
        dp[i][k]=inf;
    }
    for(int i=2;i<=n;i++){
        for(int j=0;j<k;j++){
            dp[i][j]=min(dp[i-1][j+1]+1,dp[i-1][j]+a[i]-a[i-1]);
        }
    }
    int ma=inf;
    for(int i=0;i<=k;i++){
        ma=min(ma,dp[n][i]);
    }
    cout<<ma;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...