#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());
int n=v.size();
auto dist=[&](int a, int b){
ll c1=abs(a-b), c2=L-c1;
return min(c1,c2);
};
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());
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;
}