#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
long long findGap(int T, int N)
{
if(T == 1){
long long L = -1; long long R = 1000000000000000005;
long long mn, mx;
vector<long long>v(N);
int l = 0; int r = N-1;
while(l <= r){
// cout<<L+1<<' '<<R-1<<'\n';
MinMax(L+1, R-1, &mn, &mx);
L = mn; R = mx;
// cout<<L<<' '<<R<<'\n';
if(L == R){
v[l] = L;
}
else{
v[l] = mn; v[r] = mx;
}
l++; r--;
}
// for(auto u : v)cout<<u<<' ';
// cout<<'\n';
long long ans = 0;
for(int i = 0; i<N-1; i++){
if(ans < v[i+1] - v[i])ans = v[i+1] - v[i];
}
return ans;
}
else{
long long mn, mx;
long long L = -1; long long R = 1000000000000000005;
MinMax(L+1, R-1, &mn, &mx);
long long lb = (mx - mn + N - 2) / (N-1);
long long pv = -1;
long long r1, r2;
long long ans = 0;
for(long long i = mn; i <= mx; i+=lb){
MinMax(i, i + lb - 1, &r1, &r2);
if(r1 != -1){
if(pv != -1){
// cout<<pv<<'\n';
ans = max(ans, r1 - pv);
}
pv = r2;
}
}
return ans;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |