#include "boxes.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll inf=1e18;
ll delivery(int N, int K, int L, int p[]){
vector<int>v;
for(int i=0;i<N;i++) if(p[i]) v.push_back(p[i]);
sort(v.begin(),v.end());
if(v.empty()) return 0;
int n=v.size();
vector<ll>pref(n), suf(n);
for(int i=0;i<n;i++){
if(i>=K) pref[i]=pref[i-K];
pref[i]+=2*v[i];
}
for(int i=n-1;i>=0;i--){
if(i+K<n) suf[i]=suf[i+K];
suf[i]+=2*(L-v[i]);
}
ll resp=min(suf[0],pref.back());
if(K>n) resp=min(resp,(ll)L);
for(int i=0;i+K-1<n;i++){
ll at=0;
if(i-1>=0) at+=pref[i-1];
if(i+K<n) at+=suf[i+K];
resp=min(resp,at+L);
}
for(int i=0;i+1<n;i++) resp=min(resp,pref[i]+suf[i+1]);
return resp;
}