This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
const int INF = 2e9;
long long delivery(int n, int k, int L, int p[]) {
long long ans = 0;
double ur = L / 2;
int l, r;
l = 0;
r = n - 1;
while (l + k - 1 < n && p[l + k - 1] <= ur) {
ans += 2 * p[l + k - 1];
l += k;
}
// cerr << ans << endl;
while (r - k + 1 >= 0 && p[r - k + 1] > (ur)) {
ans += 2 * (L - p[r - k + 1]);
r -= k;
}
int i;
for (i = l; i <= r; i++) {
if (p[i] > ur) break;
}
long long qo = 2 * p[i - 1] + 2 * (L - p[i]);
int qs = (r - l + 1);
if (qs <= 0) return ans;
qo = min(qo, (long long)ceil(1. * qs / k) * L);
return ans + qo;
}
# | 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... |