제출 #1350109

#제출 시각아이디문제언어결과실행 시간메모리
1350109mydkn선물상자 (IOI15_boxes)C++17
25 / 100
0 ms344 KiB
#include "boxes.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int maxn = 1e7 + 5;
const ll inf = 9e18;

ll dpl[maxn], dpr[maxn];
ll mn = inf;

ll delivery(int n, int k, int l, int p[]){
	for(int i=0;i<n;++i){
		dpl[i] = (i >= k ? dpl[i-k] : 0) + p[i]*2LL;
	}
	for(int i=n-1;i>=0;--i){
		dpr[i] = (n - i - 1 >= k ? dpr[i+k] : 0) + (l - p[i])*2LL;
	}
	mn = min(dpl[n-1], dpr[0]);
	for(int i=0;i<n-1;++i){
		mn = min(mn, dpl[i] + dpr[i+1]);
		if(i + k + 1 < n) mn = min(mn, dpl[i] + dpr[i+k+1] + l);
		else mn = min(mn, dpl[i] + 1LL*l);
	}
	if(k < n){
		mn = min(mn, min(dpr[k], dpl[n-k-1]) + 1LL*l);
	}
	return mn;
}
#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...