제출 #154124

#제출 시각아이디문제언어결과실행 시간메모리
154124popovicirobert선물상자 (IOI15_boxes)C++14
100 / 100
842 ms198748 KiB
#include "boxes.h"
#include <bits/stdc++.h>
#define ll long long

using namespace std;

const int MAXN = (int) 1e7 + 5; // ???

static ll pref[MAXN + 1], suff[MAXN + 1];

long long delivery(int n, int k, int l, int p[]) {
    int i;

    sort(p, p + n);

    pref[0] = 0;
    for(i = 1; i <= n; i++) {
        pref[i] = pref[max(i - k, 0)] + p[i - 1] + min(p[i - 1], l - p[i - 1]);
    }

    suff[n + 1] = 0;
    for(i = n; i >= 1; i--) {
        suff[i] = suff[min(n + 1, i + k)] + (l - p[i - 1]) + min(p[i - 1], l - p[i - 1]);
    }

    ll ans = 1e18;
    for(i = 0; i <= n; i++) {
        ans = min(ans, pref[i] + suff[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...