#include "boxes.h"
#include<algorithm>
#include<iomanip>
#include<vector>
#include<set>
#include<iterator>
#include<iostream>
using namespace std;
#define ll long long
#define vi vector<ll>
#define vvi vector<vi>
#define ms multiset<int>
int n, k, l;
vi P;
ll delivery(int in, int ik, int il, int L[]) {
n = in; k = ik; l = il;
int p = 0;
P = vi(n);
while (L[p] <= l/2) {
if (p < k) {
P[p] = L[p]*2;
p++;
continue;
}
P[p] = (L[p] - L[p-k])*2 + P[p-k];
p++;
}
p = n-1;
while (L[p] > l/2) {
if (p > n-k-1) {
P[p] = (l-L[p])*2;
p--;
continue;
}
P[p] = (L[p+k]-L[p])*2 + P[p+k];
p--;
}
p++;
cerr << "P : {";
for (auto i : P) cerr << i << ", ";
cerr << "}\n";
if (p == 0) return P[p];
ll ans = P[p] + P[p-1];
for (int i = p-k-1; i < p; i++) {
if (i < 0) continue;
if (i+2+k >= P.size()) break;
ans = min(ans, P[i] + P[i+k+2] + 2*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... |