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 "bits/stdc++.h"
#include "boxes.h"
using namespace std;
const int sz = 1e7 + 7;
int pr[sz], su[sz], fo[sz], ba[sz];
long long delivery(int N, int K, int L, int p[]) {
    for (int i = 0; i < N; i ++) {
        pr[i] = p[i] + min(p[i], L - p[i]);
    }
    for (int i = 0; i < N; i ++) {
        su[i] = L - p[i] + min(p[i], L - p[i]);
    }
    for (int i = 0; i < N; i ++) {
        fo[i] = pr[i];
        if (0 <= i - K) {
            fo[i] += fo[i - K];
        }
    }
    for (int i = N - 1; -1 < i; i --) {
        ba[i] = su[i];
        if (i + K <= N) {
            ba[i] += su[i + K];
        }
    }
    int mn = min(fo[N - 1], ba[0]);
    for (int i = 0; i < N - 1; i ++) {
        mn = min(mn, fo[i] + ba[i + 1]);
    }
    return mn;
}
| # | 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... |