#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
using db=double;
using ll=int64_t;
using sll=__int128;
using lb=long double;
long long delivery(int n, int k, int l, int a[]){
#define int long long
vector<int>v(n+1); vector<int>dpl(n+1); vector<int>dpr(n+2);
for(int i=0; i<n; i++)v[i+1]=a[i];
for(int i=1; i<=n; i++){
dpl[i]=v[i]+dpl[max(0ll,i-k)];
}
for(int i=n; i>=1; i--){
dpr[i]=l-v[i]+dpr[min((int)n+1,i+k)];
}
int ans=1e18;
for(int i=0; i<=n; i++){
ans=min(ans,2*dpl[i]+2*dpr[i+1]);
}
for(int i=0; i+k<=n; i++){
ans=min(ans,2*dpl[i]+2*dpr[i+k+1]+l);
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |