#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
long long n,k,l;
const long long maxn=1e7+5;
long long a[maxn];
long long p[maxn];
long long s[maxn];
long long delivery(int N, int K, int L, int P[])
{
long long id=0;
for(long long i=0; i<N; i++)
if(P[i]==0)id=i+1,N--;
n=N;
k=K;
l=L;
for(long long i=0; i<n; i++)
a[i]=P[id+i];
for(long long i=0; i<n; i++)
{
p[i]=a[i]*2;
if(i-k>=0)p[i]+=p[i-k];
}
for(long long i=n-1; i>=0; i--)
{
s[i]=(l-a[i])*2;
if(i+k<=n-1)s[i]+=s[i+k];
}
long long ans=s[0];
if(n<=k)ans=min(ans,l);
for(int i=0; i<n; i++)
ans=min(ans,p[i]+s[i+1]);
if(n>k)
{
ans=min(ans,l+p[n-k-1]);
ans=min(ans,l+s[k]);
for(int i=0; i<n; i++)
if(i+k+1<=n-1)ans=min(ans,p[i]+l+s[i+k+1]);
}
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... |