제출 #139993

#제출 시각아이디문제언어결과실행 시간메모리
139993TAMREF선물상자 (IOI15_boxes)C++11
10 / 100
9 ms380 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

ll *ds, *de;

ll delivery(int N, int K, int L, int p[]) {
    int s = 0, e = N - 1, k = K;
    while(s <= e && p[s] == 0) ++s;
    ds = new ll[N+1];
    de = new ll[N+1];
    if(s > e) return 0;
    ll t = LLONG_MAX;
    int si = s;
    e = s;
    for(int i = N; i--;){
        de[i] = L - p[i];
        if(i + k < N) de[i] += de[i+k];
    }
    for(; s < N; s++){
        ds[s] = p[s];
        if(s-k >= si) ds[s] += ds[s-k];
        for(e = s; e < N; e++) t = min(t, 2ll * (ds[s] + de[e+1]) + ll(e-s+k-1)/k * L);
    }
    return t;
}
#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...