제출 #445130

#제출 시각아이디문제언어결과실행 시간메모리
445130fuad27선물상자 (IOI15_boxes)C++14
100 / 100
517 ms200540 KiB
#include<bits/stdc++.h>
using namespace std;
long long delivery(int n, int k, int l, int p[]) {
	long long pref[n], suf[n];
	for(int i = 0;i<n;i++) {
		if(i >= k)pref[i] = pref[i-k] + min(p[i]*2, l);
		else pref[i] = min(p[i]*2, l);
	}
	for(int i = n - 1;i>=0;i--) {
		if(n - i - 1 >= k) {
			suf[i] = min(l, 2*(l - p[i])) + suf[i+k];
		}
		else {
			suf[i] = min(l, 2*(l - p[i])); 
		}
	}
	long long ans = min(suf[0], pref[n-1]);
	for(int i = 0;i<n-1;i++) {
		ans = min(ans, pref[i]+suf[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...