Submission #718668

#TimeUsernameProblemLanguageResultExecution timeMemory
718668AndrijaMStove (JOI18_stove)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> using namespace std; int n,k; int dp[5005][5005]; int x[5005]; int f(int idx,int p) { if(idx==n+1)return 0; if(p==0)return 2e9; if(dp[idx][p]!=2e9) { cout<<idx<<" "<<p<<endl; return dp[idx][p]; } int rez=2e9; for(int i=idx;i<=n;i++) { if(p-1>=0) { rez=min(rez, f(i+1,p-1)+x[i]-x[idx]+1); } } return dp[idx][p]=rez; } int main() { cin>>n>>k; for(int i=1;i<=n;i++) { cin>>x[i]; } for(int i=0;i<=n;i++) { for(int j=0;j<=k;j++) { dp[i][j]=2e9; } } cout<<f(1,k)<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...