# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
142952 | Bodo171 | Shortcut (IOI16_shortcut) | C++14 | 1280 ms | 57208 KiB |
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 "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]);
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |