#include <bits/stdc++.h>
using namespace std;
#define int long long
#define INF (int)1e18
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N,K;
cin>>N>>K;
vector<int>v(N+1),pf(N+1);
for(int i=0;i<N;i++){
cin>>v[i];
pf[i+1]=pf[i]+v[i];
}
auto cost=[&](int s,int e)->int{
return (pf[e]-pf[s])*(e-s);
};
auto solve=[&](int y)->pair<int,int>{
vector<int>dp(N+1),cnt(N+1);
for(int i=1;i<=N;i++){
dp[i]=cost(0,i);
cnt[i]=0;
for(int j=1;j<i;j++){
int x=dp[j]+cost(j,i)+y;
if(x<dp[i]){
dp[i]=x;
cnt[i]=cnt[j]+1;
}
}
}
return{dp[N],cnt[N]};
};
int l=0,h=INF;
while(l<h){
int m=(l+h)/2;
auto [x,c]=solve(m);
if(c<=K){
h=m;
}
else{
l=m+1;
}
}
auto [x,c]=solve(h);
cout<<x-c*h<<'\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 2092 KiB | ||||
2 | Elfogadva | 1.039s | 2416 KiB | ||||
subtask2 | 10/10 | ||||||
3 | Elfogadva | 3ms | 2444 KiB | ||||
4 | Elfogadva | 3ms | 2508 KiB | ||||
5 | Elfogadva | 3ms | 2740 KiB | ||||
6 | Elfogadva | 3ms | 2772 KiB | ||||
7 | Elfogadva | 3ms | 2960 KiB | ||||
subtask3 | 10/10 | ||||||
8 | Elfogadva | 14ms | 3068 KiB | ||||
9 | Elfogadva | 16ms | 3264 KiB | ||||
10 | Elfogadva | 16ms | 3352 KiB | ||||
11 | Elfogadva | 16ms | 3608 KiB | ||||
12 | Elfogadva | 16ms | 3560 KiB | ||||
subtask4 | 20/20 | ||||||
13 | Elfogadva | 1.246s | 3888 KiB | ||||
14 | Elfogadva | 1.271s | 3808 KiB | ||||
15 | Elfogadva | 1.299s | 4056 KiB | ||||
16 | Elfogadva | 1.322s | 4184 KiB | ||||
17 | Elfogadva | 1.325s | 4184 KiB | ||||
18 | Elfogadva | 1.328s | 4384 KiB | ||||
subtask5 | 0/29 | ||||||
19 | Időlimit túllépés | 3.065s | 5136 KiB | ||||
20 | Időlimit túllépés | 3.069s | 5056 KiB | ||||
21 | Időlimit túllépés | 3.059s | 4984 KiB | ||||
22 | Időlimit túllépés | 3.065s | 4996 KiB | ||||
23 | Időlimit túllépés | 3.051s | 5180 KiB | ||||
subtask6 | 0/31 | ||||||
24 | Időlimit túllépés | 3.042s | 6956 KiB | ||||
25 | Időlimit túllépés | 3.066s | 7228 KiB | ||||
26 | Időlimit túllépés | 3.065s | 7244 KiB | ||||
27 | Időlimit túllépés | 3.059s | 7376 KiB | ||||
28 | Időlimit túllépés | 3.039s | 7332 KiB | ||||
29 | Időlimit túllépés | 3.073s | 7440 KiB | ||||
30 | Időlimit túllépés | 3.055s | 7308 KiB | ||||
31 | Időlimit túllépés | 3.062s | 7364 KiB | ||||
32 | Időlimit túllépés | 3.059s | 7352 KiB | ||||
33 | Időlimit túllépés | 3.099s | 7344 KiB | ||||
34 | Időlimit túllépés | 3.055s | 7564 KiB | ||||
35 | Időlimit túllépés | 3.071s | 7384 KiB | ||||
36 | Időlimit túllépés | 3.062s | 7420 KiB | ||||
37 | Időlimit túllépés | 3.058s | 7440 KiB | ||||
38 | Időlimit túllépés | 3.062s | 7296 KiB | ||||
39 | Időlimit túllépés | 3.066s | 7424 KiB | ||||
40 | Időlimit túllépés | 3.049s | 7392 KiB |