This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <vector>
using namespace std;
#define ll long long
#define pb push_back
const int N=10000050;
const ll inf=1e18;
ll l[N],r[N];
ll min(ll a, ll b){ return a>b?b:a;}
ll max(ll a, ll b){ return a>b?a:b;}
int x[N];
ll delivery(int n, int k, int sz, int v[])
{
int i;
//scanf("%i %i %i",&n,&k,&sz);
for(i=1;i<=n;i++) x[i]=v[i-1];//scanf("%i",&x[i]);
for(i=1;i<=n;i++) l[i]=l[max(i-k,0)]+(ll)2*x[i];
for(i=n;i>=1;i--) r[i]=r[min(i+k,n+1)]+(ll)2*(sz-x[i]);
ll sol=inf;
if(n<=k) sol=sz;
for(i=0;i<=n;i++) sol=min(sol,l[i]+r[i+1]);
for(i=0;i<=n;i++) sol=min(sol,l[i]+r[min(i+k+1,n+1)]+sz);
//printf("%lld\n",sol);
return sol;
}
# | 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... |