Submission #687012

#TimeUsernameProblemLanguageResultExecution timeMemory
687012GudStonksK blocks (IZhO14_blocks)C++17
32 / 100
1090 ms336 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ft first
#define sd second
const ll MOD = 1e9+7;
ll n, k, arr[100005];
ll rec(ll b = 1, ll i = 1, ll res = 0, ll mx = 0){
	if(i == n && b == k)
		return res + max(mx, arr[i]);
	else if(i == n || b > k)
		return 2e18;
	return min(rec(b + 1, i + 1, res + max(mx, arr[i]), 0), rec(b, i + 1, res, max(mx, arr[i])));
}
void fun(){
	cin>>n>>k;
	for(int i = 1; i <= n; i++)cin>>arr[i];
	cout<<rec();
}

int  main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int ttt = 1;
	//cin>>ttt;
	while(ttt--)fun();
}



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...