#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;
#define mod 1000000007
#define maxn 200005
#define f first
#define s second
#define ll long long
#define pb(x) push_back(x)
#define mp make_pair
#define all(x) x.begin(), x.end()
#define len(v) max(0, (int)v.size())
long long delivery(int N, int k, int L, int p[]){
long long r[N], l[N];
l[0]=0;
long long ans=INT_MAX;
for(int i=0; i<min(k, N); i++){
l[i]=p[i];
}
for(int i=k; i<N; i++){
l[i]=p[i]+l[i-k];
}
for(int i=N-1; i>=max(0, N-k); i--){
r[i]=L-p[i];
}
for(int i=N-k-1; i>=0; i--){
r[i]=L-p[i]+r[i+k];
}
ans=min(r[0], l[N-1]);
for(int i=0; i<N-1; i++){
ans=min(ans, l[i]+r[i+1]);
}
if(k==N){
return min(ans*2, 1ll*L);
}else{
ans*=2;
for(int i=0; i+k+1<N; i++){
ans=min(ans, (l[i]+r[i+k+1])*2+L);
}
if(k==N-1){
ans=min(ans, L+min(l[0], r[N-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... |