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 ;
typedef long long ll ;
const ll inf = 1e18 ;
vector<ll> v ;
void push(ll cst)
{
if(cst>-1)v.emplace_back(cst);
}
ll findGap(int T, int N)
{
ll mn=0,mx=0,l=0,r=inf ;
v.clear();
if(T==1)
{
for(int i=1;i<=(N+1)/2;i++)
{
MinMax(l,r,&mn,&mx);
push(mn),push(mx);
l=mn+1,r=mx-1;
}
sort(v.begin(),v.end());
ll ret = 0 ;
for(int i=1;i<(int)v.size();i++)ret=max(ret,v[i]-v[i-1]);
return ret ;
}
else
{
ll ret = 0 ;
MinMax(l,r,&mn,&mx);
l=mn,r=mx;
ll len = (mx-mn)/(N-1);
ll ex = l ;
r=l+len-1;
for(int i=1;i<=N;i++)
{
MinMax(l,r,&mn,&mx);
if(mn!=-1)
{
ret = max(ret,mn-ex);
ex = mx ;
}
l+=len;
r+=len;
}
return ret ;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |