#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
//#define int long long
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
const int N=1e7+5,mod=1e9+7;
long long delivery(int N, int K, int L, int p[]) {
long long dp[N],ds[N];
for (int i=0; i<N; i++){
if (i-K>=0) dp[i]=dp[i-K];
else dp[i]=0;
dp[i]+=min(L,2*p[i]);
}
for (int i=N-1; i>=0; i--){
if (i+K<N) ds[i]=dp[i+K];
else ds[i]=0;
dp[i]+=min(L,2*(L-p[i]));
}
long long ans=min(dp[N-1],ds[0]);
//cout<<ans<<"\n";
for (int i=0; i<N-1; i++){
ans=min(ans,dp[i]+ds[i+1]);
//cout<<ans<<"\n";
}
return ans;
}
/*signed main(){
int sm[3]={1,2,5};
cout<<delivery(3,2,8,sm);
}
*/
# | 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... |