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 int long long
int findGap(int32_t T, int32_t n)
{
if(T == 1) {
int mn,mx;
vector<int> a(n+1);
MinMax(0,(int) 1e18,&mn,&mx);
a[1] = mn;
a[n] = mx;
int l = 2;
int r = n-1;
while(l <= r) {
MinMax(a[l-1]+1,a[r+1]-1,&a[l],&a[r]);
l++;
r--;
}
int ans = 0;
for(int i = 1; i <= n-1; i++) ans = max(ans, a[i+1]-a[i]);
return ans;
}
else {
int a1,an;
MinMax(0,(int) 1e18,&a1,&an);
int gap = (an-a1+n-1-1)/(n-1);
int gap0 = gap;
int ant = a1;
for(int i = a1; i <= an; i+= gap0+1) {
int mn,mx;
MinMax(i,i+gap0,&mn,&mx);
if(mn == -1) continue;
gap = max(gap,mn-ant);
ant = mx;
}
return gap;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |