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 <stdio.h>
#include <stdlib.h>
#include<bits/stdc++.h>
using namespace std;
#include "gap.h"
static void my_assert(int k){ if (!k) exit(1); }
static int subtask_num, N;
static long long A[100001];
static long long call_count;
typedef long long ll;
typedef double D;
const ll inf=(1ll<<61);
const ll mod=1e9+7;
const int MX=2e5+9;
ll findGap(int T, int n){
if(T==1){
ll ans=0;
ll l,r,a[MX];
l=0,r=n+1;
for(int i=0;i<n;i++)a[i]=-inf;
a[l]=-1;
a[r]=1000000000000000009;
for(int i=1;i<=(n+1)/2;i++){
MinMax(a[l]+1,a[r]-1,&a[l+1],&a[r-1]);
l++;r--;
}
for(int i=2;i<=n;i++)ans=max(ans,a[i]-a[i-1]);
return ans;
}
else{
ll l,r,add,last,mn,mx,ans=0;
MinMax(-1,1000000000000000009,&l,&r);
last=l;add=(r-l)/n;
for(ll x=l+1,y=l+add,i=0;i<n;i++,x+=add,y+=add){
y=min(y,r-1);
if(x>y)break;
MinMax(x,y,&mn,&mx);
if(mn==-1)continue;
ans=max(ans,mn-last);
last=mx;
}
ans=max(ans,r-last);
return ans;
}
}
Compilation message (stderr)
gap.cpp:7:13: warning: 'void my_assert(int)' defined but not used [-Wunused-function]
static void my_assert(int k){ if (!k) exit(1); }
^
gap.cpp:9:12: warning: 'subtask_num' defined but not used [-Wunused-variable]
static int subtask_num, N;
^
gap.cpp:9:25: warning: 'N' defined but not used [-Wunused-variable]
static int subtask_num, N;
^
gap.cpp:10:18: warning: 'A' defined but not used [-Wunused-variable]
static long long A[100001];
^
gap.cpp:11:18: warning: 'call_count' defined but not used [-Wunused-variable]
static long long call_count;
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |