#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;
ll delivery(int n, int k, int L, int* pos) {
ll ans=0;
int l=0, r=n-1;
int idx=0;
int cnt=0;
while (l <= r) {
ll costl;
if (idx <= pos[l]) costl = pos[l]-idx;
else costl = idx+pos[l];
ll costr;
if (idx >= pos[r]) costr = idx-pos[r];
else costr = idx+L-pos[r];
//cout << l << " " << r << " " << costl << " " << costr << " " << ans << endl;
cnt++;
if (costl <= costr) {
idx = pos[l];
l++;
ans += costl;
}
else {
idx = pos[r];
r--;
ans += costr;
}
if (cnt == k) {
ans += min(abs(idx), abs(L-idx));
idx=0;
}
}
ans += min(abs(idx), abs(L-idx));
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... |