#include "boxes.h"
#include <algorithm>
long long delivery(int N, int K, int L, int p[])
{
auto dist = [&](long long x)
{
return std::min(x, (long long)L - x);
};
long long ans = 0;
if (K == 1)
for (int i = 0; i < N; ++i)
ans += 2LL * std::max(0ll, dist(p[i]));
else if (K == N)
{
long long mxGap = 0;
for (int i = 0; i + 1 < N; ++i)
mxGap = std::max(mxGap, (long long)p[i + 1] - p[i]);
mxGap = std::max(mxGap, (long long)L - p[N - 1] + p[0]);
ans = 2LL * (L - mxGap);
}
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... |