# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
63321 | hamzqq9 | 선물상자 (IOI15_boxes) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "boxes.h"
using namespace std;
#define MAX 1000006
#define ll long long
#define umin(x,y) x=min(x,y)
#define umax(x,y) x=max(x,y)
#define inf 100000000000000000
long long delivery(int N, int K, int L, int P[]) {
ll ans1=0,ans2=0;
int start=0;
while(p[start]==0) start++;
for(int i=start;i<N;i+=K) {
int last=min(N-1,i+K-1);
ll cost=min(1ll*L,min(2ll*P[last],2ll*(L-P[i])));
ans1+=cost;
}
for(int i=N-1;i>=start;i-=K) {
int last=max(start,i-K+1);
ll cost=min(1ll*L,min(2ll*P[i],2ll*(L-P[last])));
ans2+=cost;
}
return min(ans1,ans2);
}