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 "boxes.h"
#include <stdio.h>
#include <stdlib.h>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
#define N 10001000
ll n,k,ans,x,len,a[N],f[N],g[N];
long long delivery(int NN, int K, int L, int ppp[]) {
n=NN;
k=K;
len=L;
for(ll i=1;i<=n;++i)
a[i]=ppp[i-1];
memset(f,0x7f,sizeof(f));
memset(g,0x7f,sizeof(g));
ans=len*n;
f[0]=0;
g[n+1]=0;
for(int i=1;i<=n;++i)
f[i]=f[max(i-k,0ll)]+min(a[i]*2,len*2);
for(int i=n;i>0;--i)
g[i]=g[min(i+k,n+1)]+min((len-a[i])*2,len);
for(int i=0;i<=n;++i)
ans=min(ans,f[i]+g[i+1]);
return ans;
}
Compilation message (stderr)
boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:45:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
45 | for(int i=n;i>0;--i)
| ^
# | 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... |