Submission #1227603

#TimeUsernameProblemLanguageResultExecution timeMemory
1227603LucaIlieBoxes with souvenirs (IOI15_boxes)C++20
10 / 100
0 ms328 KiB

#include "boxes.h"
#include <stdio.h>
#include <algorithm>
#include <vector>

using namespace std;

const int MAX_N = 1e7;
const long long INF = 1e18;
int n, k, l;

long long delivery(int N, int K, int L, int p[]) {
    n = N;
    k = K;
    l = L;
    sort(p, p + n);
    
    vector<int> s1, s2;
    for (int i = 0; i < n; i++) {
        if (p[i] < l / 2)
            s1.push_back(p[i]);
        else
            s2.push_back(p[i]);
    }
    long long c = 0;
    for (int i = k - 1; i < (int)s1.size(); i += k)
        c += s1[i] * 2;
    for (int i = s2.size() - k; i >= 0; i -= k)
        c += (l - s2[i]) * 2;

    int c1 = (s1.size() % k > 0 ? 2 * s1.back() : 0);
    int c2 = (s2.size() % k > 0 ? 2 * (l - s2[0]) : 0);

    c += min(l, c1 + c2);

    return c;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...