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;
long long findGap(int T, int N){
	if(T==1){
		long long mn=-1,mx=-1;
		MinMax(1,1000000000000000000,&mn,&mx);
		long long premn=mn,premx=mx;
		long long ans=0;
		for(int i=1;i<(N+1)/2;i++){
			premn=mn,premx=mx;
			MinMax(mn+1,mx-1,&mn,&mx);
			ans=max(ans,mn-premn);
			ans=max(ans,premx-mx);
		}
		ans=max(ans,mx-mn);
		return ans;
	}
	long long mn=-1,mx=-1;
	MinMax(1,1000000000000000000,&mn,&mx);
	long long diff = mx-mn;
	long long mxx = mx;
	long long mnd=diff/(N-1);
	long long ans=mnd,curm=mn;
	for(long long i=mn+1;i<=mxx-1;i+=mnd){
		// cout<<i<<' '<<i+mnd-1<<' ';
		MinMax(i,min(mxx-1,i+mnd-1),&mn,&mx);
		// cout<<mn<<' '<<mx<<endl;
		if(mn==-1) continue;
		// cout<<mn<<' '<<curm<<endl;
		ans=max(ans,mn-curm);
		curm=mx;
	}
	return ans;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |