Submission #330740

#TimeUsernameProblemLanguageResultExecution timeMemory
330740GurbanK blocks (IZhO14_blocks)C++17
53 / 100
1073 ms8684 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 1e2+5; const int maxn=1e5+5; int n,k; ll a[maxn],dp[maxn][N]; int f(int pos,int num){ if(dp[pos][num]) return dp[pos][num]; ll mx = 0,jog = 1e18; for(int i = pos;i <= n-num+1;i++){ mx = max(mx,a[i]); jog = min(jog,mx+f(i+1,num-1)); } return dp[pos][num]=jog; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n >> k; for(int i = 1;i <= n;i++) cin >> a[i]; ll mx = 0; for(int i = n;i >= 1;i--){ mx = max(mx,a[i]); dp[i][1] = mx; } cout<<f(1,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...