#include "boxes.h"
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
ll delivery(int N, int K, int L, int p[]) {
vector<ll> l(N+1);
vector<ll> r(N+1);
l[0] = 0;
r[N] = 0;
for (int i = 0; i <= N; i++) {
if (i == 0) {
l[i] = 0;
} else if (i <= K) {
l[i] = 2*p[i-1];
} else {
l[i] = 2*p[i-1] + l[i-K];
}
}
for (int i = N; i >= 0; i--) {
if (i == N) {
r[i] = 0;
} else if (N-i <= K) {
r[i] = 2*(L - p[i]);
} else {
r[i] = 2*(L - p[i]) + r[i+K];
}
}
// for (auto num : l) {
// cout << num << " ";
// }
// cout << endl;
// for (auto num : r) {
// cout << num << " ";
// }
// cout << endl;
// for (int i = 0; i <= N; i++) {
// best = min(best, l[i]+r[i]);
// }
ll best = r[0];
if (K >= N) {
return min(static_cast<ll>(L), best);
}
for (int i = K; i <= N; i++) {
best = min(best, l[i-K] + r[i] + L);
}
return best;
}
# | 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... |