답안 #712515

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
712515 2023-03-19T01:06:51 Z Username4132 선물상자 (IOI15_boxes) C++14
0 / 100
1 ms 340 KB
#include "boxes.h"
#include<iostream>
using namespace std;
using ll = long long;
#define forn(i, n) for(int i=0; i<(int)n; ++i)

const int MAXN=10000010;
int le[MAXN], ri[MAXN], cnl=0, cnr=0;
ll dpl[MAXN], dpr[MAXN];

long long delivery(int N, int K, int L, int p[]) {

    forn(i, N){
        if(p[i]<(L>>1)) le[cnl++]=p[i];
        else ri[cnr++]=L-p[i];
    }

    forn(i, cnl){
        if(i<K) dpl[i]=le[i];
        else dpl[i]=dpl[i-K]+le[i];
    }
    forn(i, cnr){
        if(i<K) dpr[i]=ri[i];
        else dpr[i]=dpr[i-K]+ri[i];
    }

    ll ans = ((cnl? dpl[cnl-1] : 0)+ (cnr? dpr[cnr-1] : 0))<<1;
    forn(i, K+1){
        int il=cnl-1-i, ir=cnr-1-K+i;
        ans = min(ans, (((il<0? 0 : dpl[il]) + (ir<0? 0 : dpr[ir]))<<1) + L);
    }

    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Incorrect 0 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Incorrect 0 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Incorrect 0 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Incorrect 0 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Incorrect 0 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -