Submission #806755

#TimeUsernameProblemLanguageResultExecution timeMemory
806755IvanJ선물상자 (IOI15_boxes)C++17
0 / 100
1 ms340 KiB
#include "boxes.h"
#include<bits/stdc++.h>

#define pb push_back
#define x first
#define y second
#define all(a) (a).begin(), (a).end()

using namespace std;

typedef long long ll;
typedef pair<int, int> ii;

const int maxn = 1e7 + 5;

ll l[maxn], r[maxn];

ll delivery(int N, int K, int L, int p[]) {
	for(int i = 0;i < N;i++) {
		l[i] = 2 * p[i];
		if(i >= K) l[i] += l[i - K];
	}
	
	for(int i = N - 1;i >= 0;i--) {
		r[i] = 2 * (L - p[i]);
		if(i + K < N) 
			r[i] += r[i - K];
	}
	
	ll ans = r[0];
	for(int i = 0;i < N;i++) 
		ans = min(ans, l[i] + r[i + 1]);
	
	for(int i = 0;i + K - 1 < N;i++)
		ans = min(ans, l[i] + r[i + K] + L);
	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...