#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll delivery(int N, int K, int L, int positions[]) {
    ll time = 0;
    
    // Separar los equipos en izquierda y derecha respecto a 0
    vector<int> left, right;
    
    for (int i = 0; i < N; i++) {
        int d = positions[i];
        if (d == 0) continue;  // Si ya están en la posición 0, no requieren viaje
        if (d <= L - d) right.push_back(d);  // Más rápido moverse a la derecha
        else left.push_back(L - d);          // Más rápido moverse a la izquierda
    }
    
    // Ordenamos los vectores
    sort(left.rbegin(), left.rend());   // Ordenamos de mayor a menor
    sort(right.rbegin(), right.rend()); // Ordenamos de mayor a menor
    // Función para calcular tiempo de viajes en cada dirección
    auto compute_time = [&](vector<int>& v) {
        ll t = 0;
        for (int i = 0; i < v.size(); i += K) {
            t += 2 * v[i];  // Ida y vuelta a la posición más lejana en este viaje
        }
        return t;
    };
    // Calculamos el tiempo para ambos lados
    time += compute_time(left);
    time += compute_time(right);
    return time;
}
| # | 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... |