Submission #142952

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1429522019-08-12 10:25:24Bodo171Shortcut (IOI16_shortcut)C++14
100 / 100
1280 ms57208 KiB
#include "shortcut.h"
#include <iostream>
using namespace std;
const int nmax=1000*1000+5;
const long long inf=1LL*1e18;
int d[nmax];
long long x[nmax],y[nmax];
int i,n;
long long C;
bool check(long long k)
{
long long mxsum=-inf,mndif=inf;
long long suml=-inf,sumr=inf,difl=-inf,difr=inf;
long long sum,dif;
int p=1,u=0;
for(i=1;i<=n;i++)
{
while(p<=u&&x[i]-x[d[p]]+y[i]+y[d[p]]>k)
{
sum=x[d[p]]+y[d[p]];dif=x[d[p]]-y[d[p]];
if(sum>mxsum) mxsum=sum;
if(dif<mndif) mndif=dif;
p++;
}
if(mxsum!=-inf)
{
suml=max(suml,-k+C+mxsum+x[i]+y[i]);
sumr=min(sumr,k-C+mndif+x[i]-y[i]);
difl=max(difl,-k+C-mndif+x[i]+y[i]);
difr=min(difr,k-C-mxsum+x[i]-y[i]);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...