Submission #430893

#TimeUsernameProblemLanguageResultExecution timeMemory
430893KalasLavasBoxes with souvenirs (IOI15_boxes)C++14
35 / 100
1 ms204 KiB
#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;
#define F first
#define S second
using ll = long long;
using pii= pair<int,int>;
using pll= pair<ll,ll>;
int n,k,len,*p;
ll ans;
ll delivery(int _N, int _K, int _L, int _p[])
{
	n=_N; k=_K; len=_L; p=_p;
	int l=-1, r=n;
	while(l+1<n and (p[l+1]<<1)<=len) l++;
	r = l+1;
	if(k>1)
	{
		while(0<=l and r<n and ((p[r]-p[l])<<1)<=len)
		{
			int kk = k;
			ans+=len;
			while(kk--)
			{
				if(l==-1 and r==n) break;
				if(r==n or (0<=l and p[l]>=(len-p[r]))) l--;
				else r++;
			}
		}
	}
	while(0<=l)
	{
		ans+=p[l]<<1;
		l-=k;
	}
	while(r<n)
	{
		ans+=(len-p[r])<<1;
		r+=k;
	}
	return ans;
}
/*
4 8 8
3 4 5 6

4 8 9
3 4 5 6

3 2 8
1 2 5
*/
#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...