#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
long long delivery(int N, int K, int L, int p[]) {
vector<long long> left(N), right(N);
for (int i = 0; i < N; i++) {
if (i < K) {
left[i] = 2ll * p[i];
} else {
left[i] = 2ll * p[i] + left[i - K];
}
}
for (int i = N - 1; i >= 0; i--) {
if (i + K >= N) {
right[i] = 2ll * (L - p[i]);
} else {
right[i] = 2ll * (L - p[i]) + right[i + K];
}
}
long long ans = LLONG_MAX;
ans = min(left[N - 1], right[0]);
for (int i = 0; i + 1 < N; i++) ans = min(ans, left[i] + right[i + 1]);
if (N == K) {
ans = min(ans, (long long)L);
} else if (N > K) {
ans = min({ans, L + right[K], L + left[N - K - 1]});
for (int i = 0; i + K + 1 < N; i++)
ans = min(ans, L + left[i] + right[i + K + 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... |