Submission #445128

#TimeUsernameProblemLanguageResultExecution timeMemory
445128fuad27Boxes with souvenirs (IOI15_boxes)C++14
0 / 100
1 ms292 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];
	long long ans = min(suf[0], pref[n-1]);
	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 - k >= k) {
			suf[i] = min(l, 2*(l - p[i])) + suf[i+k];
		}
		else {
			suf[i] = min(l, 2*(l - p[i])); 
		}
	}
	for(int i = 1;i<n;i++) {
		ans = min(ans, pref[i-1]+suf[i]);
	}
	return ans;
}
/*int main () {
	int p[3] = {1, 2, 5};
	int n = 3, k = 2, l = 8;
	cout<<delivery(n, k, l, p)<<endl;
}*/
#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...