#include <iostream>
#include <vector>
#include <algorithm>
#include "boxes.h"
using namespace std;
long long pre[10000007], suf[10000007];
long long delivery(int n, int k, int l, int p[]){
k = min(k, n);
for (int i=n-1;i>=0;i--){
if (i + k >= n)
suf[i] = (l - p[i]) * 2;
else
suf[i] = suf[i + k] + (l - p[i]) * 2;
}
long long Ans = min(suf[0], l + suf[k]);
for (int i=0;i<n;i++){
if (i < k)
pre[i] = p[i] * 2;
else
pre[i] = pre[i - k] + p[i] * 2;
if (i + k < n)
Ans = min(Ans, pre[i] + min(suf[i+1], suf[i + k + 1] + l));
else
Ans = min(Ans, pre[i] + min(suf[i + 1], 0LL + l));
}
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... |