Submission #424395

#TimeUsernameProblemLanguageResultExecution timeMemory
424395SuhaibSawalha1Boxes with souvenirs (IOI15_boxes)C++17
20 / 100
1 ms204 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
 
long long delivery(int N, int K, int L, int p[]) {
	long long ans, A[N], A2[N], KS = 0;
	for (int i = 0; i < N; ++i) {
		if (i % K == 0 && i) {
			KS += min(2 * p[i - 1], L);
		}
		A[i] = KS + min(2 * p[i], L);
	}	
	KS = 0;
	for (int i = N - 1; ~i; --i) {
		if ((N - i - 1) % K == 0 && i < N - 1) {
			KS += min(2 * (L - p[i + 1]), L);
		}
		A2[i] = KS + min(2 * (L - p[i]), L);
	}
	ans = min({A[N - 1], A2[0], K == N ? L : A[N - K - 1] + L});
	for (int i = 0; i + K - 1 < N; ++i) {
		ans = min(ans, A[i] + A2[i + K - 1] + L);
	}
	for (int i = 0; i < N - 1; ++i) {
		ans = min(ans, A[i] + A2[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...