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 "gap.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
const int MN=2e6;
ll arr[MN];
long long findGap(int T, int N){
if(T==1){
int l=0,r=N-1;
ll s=0,t=1e18;
while(1){
ll mn,mx;
MinMax(s,t,&mn,&mx);
arr[l]=mn;
arr[r]=mx;
s=mn+1;
t=mx-1;
if(l+1==r or l==r)break;
l++;
r--;
}
ll ans=0;
for(int i=1;i<N;i++){
ans=max(ans,arr[i]-arr[i-1]);
}
return ans;
}
else{
ll mn,mx;
MinMax(0,1e18,&mn,&mx);
ll k=(mx-mn+N-1)/(N-1);
ll ans=k,x,y,l=mn,i;
for(i=mn;i<mx-k;i+=k+1){
MinMax(i,i+k,&x,&y);
if(x!=-1){
ans=max(ans,x-l);
l=y;
}
}
MinMax(i,mx,&x,&y);
if(x!=-1)ans=max(ans,x-l);
return ans;
}
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |