Submission #529289

#TimeUsernameProblemLanguageResultExecution timeMemory
529289HanksburgerBoxes with souvenirs (IOI15_boxes)C++17
100 / 100
480 ms293912 KiB
#include <bits/stdc++.h>
using namespace std;
long long l[10000005], r[10000005];
long long delivery(int N, int K, int L, int p[])
{
	for (int i=0; i<K; i++)
		l[i]=p[i]*2;
	for (int i=K; i<N; i++)
		l[i]=l[i-K]+p[i]*2;
//	cout << "l: ";
//	for (int i=0; i<N; i++)
//		cout << l[i] << ' ';
//	cout << '\n';
	for (int i=0; i<K; i++)
		r[i]=(L-p[N-i-1])*2;
	for (int i=K; i<N; i++)
		r[i]=r[i-K]+(L-p[N-i-1])*2;
//	cout << "r: ";
//	for (int i=0; i<N; i++)
//		cout << r[i] << ' ';
//	cout << '\n';
	long long ans=min(min(l[N-1], r[N-1]), min(l[N-K-1]+L, r[N-K-1]+L));
	for (long long i=0; i<=N-2; i++)
		ans=min(ans, l[i]+r[N-i-2]);
	for (long long i=0; i<=N-K-2; i++)
		ans=min(ans, l[i]+r[N-K-i-2]+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...