Submission #115504

#TimeUsernameProblemLanguageResultExecution timeMemory
115504E869120Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
590 ms205444 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

long long cl[10000009], cr[10000009];

long long delivery(int N, int K, int L, int p[]) {
	for (int i = 0; i < N; i++) {
		cl[i] = min(1LL * L, 2LL * p[i]);
		if (i >= K) cl[i] += cl[i - K];
	}
	for (int i = N - 1; i >= 0; i--) {
		cr[i] = min(1LL * L, 2LL * (L - p[i]));
		if (i + K < N) cr[i] += cr[i + K];
	}
	long long minx = (1LL << 60);
	for (int i = -1; i < N; i++) {
		long long sum = 0;
		if (i >= 0) sum += cl[i];
		if (i + 1 < N) sum += cr[i + 1];
		minx = min(minx, sum);
	}
	return minx;
}
#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...