#include<bits/stdc++.h>
using namespace std;
long long int delivery(int N, int K, int L, int positions[]) {
vector<long long int> pref(N + 1, 0), suff(N + 1, 0);
for (int i = N - 1; i >= 0; i--) {
if (i + K < N) suff[i] = suff[i + K];
suff[i] += min(L, 2 * (L - positions[i]));
}
long long int ans = 1e18;
for (int i = 0; i <= N; i++) {
ans = min(ans, pref[i] + suff[i]);
if (i >= K && i < N) pref[i + 1] = pref[i + 1 - K];
if (i < N) pref[i + 1] += 2 * positions[i];
}
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... |