#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
long long dp[10000001];
long long dp1[10000001];
long long delivery(int n, int k, int l, int p[]) {
for (int i = 0;i < n;i++) {
if (i - k < 0) {
dp[i] = min(2 * p[i], l);//butsah, toiroh
}
else {
dp[i] = dp[i - k] + min(2 * p[i], l);
}
}
for (int i = n - 1;i >= 0;i--) {
if (i + k >= n) {
dp1[i] = min(l, 2 * (l - p[i]));//butsah, toiroh
}
else {
dp1[i] = dp1[i + k] + min(l, 2 * (l - p[i]));
}
}
// for (int i = 0;i < n;i++) {
// cout << dp[i] << " ";
// }
// cout << endl;
// for (int i = 0;i < n;i++) {
// cout << dp1[i] << endl;
// }
long long ans = INT_MAX;
for (int i = 0;i < n - 1;i++) {
ans = min(ans, dp[i] + dp1[i + 1]);
}
ans = min({ans, dp1[0], dp[n - 1]});
return ans;
}