This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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((p[l+1]<<1)<len) l++;
while((p[r-1]<<1)>=len) r--;
while(0<=l and r<n-1 and ((p[r]-p[l])<<1)<=len)
{
int kk = k;
ans+=len;
while(kk--)
{
if(l==-1 and r==n) break;
if((p[l]>(len-p[r]) and 0<=l) or r==n) l--;
else r++;
}
}
//cerr<<l<<' '<<r<<endl;
//cerr<<ans<<endl;
while(0<=l)
{
ans+=p[l]<<1;
l-=k;
}
//cerr<<ans<<endl;
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |