Submission #113691

#TimeUsernameProblemLanguageResultExecution timeMemory
113691wilwxk선물상자 (IOI15_boxes)C++11
100 / 100
792 ms333244 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
const int MAXN=1e7+5;
int n, k, x;
int v[MAXN];
ll pre[MAXN], pos[MAXN];
 
long long delivery(int N, int K, int L, int p[]) {
	n=N; k=K; x=L;
	for(int i=1; i<=n; i++) v[i]=p[i-1];
	sort(v+1, v+1+n);
 
	for(int i=1; i<=n; i++) {
		ll volta=min(v[i], x-v[i]);
		pre[i]=volta+v[i];
		pre[i]+= i-k>=0 ? pre[i-k] : 0;
	}
	for(int i=n; i>=1; i--) {
		ll volta=min(v[i], x-v[i]);
		pos[i]=volta+(x-v[i]);
		pos[i]+= i+k<=n ? pos[i+k] : 0;
	}
 
	ll respf=x; respf*=n;
	for(int i=0; i<=n; i++) respf=min(respf, (ll)pre[i]+pos[i+1]);
 
	return respf;
}
#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...