Submission #905170

#TimeUsernameProblemLanguageResultExecution timeMemory
905170VMaksimoski008Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
555 ms196376 KiB
#include <bits/stdc++.h>
#include "boxes.h"

using namespace std;
using ll = long long;

ll delivery(int N, int K, int L, int pos[]) {
    sort(pos, pos + N);
    vector<ll> left(N, 0), right(N, 0);

    for(int i=0; i<N; i++)
        left[i] = pos[i] + min(pos[i], L - pos[i]) + (i < K ? 0 : left[i-K]);
    for(int i=N-1; i>=0; i--)
        right[i] = L - pos[i] + min(pos[i], L - pos[i]) + (N - 1 < K + i ? 0 : right[i+K]);

    ll ans = min(left[N-1], right[0]);
    for(int i=0; i<N-1; i++)
        ans = min(ans, left[i] + right[i+1]);
    return ans;
}
#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...