이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#define fi first
#define se second
#define ll long long
#define pb push_back
#define ii pair<int,int>
const int nax=2e3+5;
void MinMax(long long, long long, long long*, long long*);
long long findGap(int T, int N)
{
long long lst,mx;
MinMax(0,1e18,&lst,&mx);
if(N==2){
return mx-lst;
}else if(N==3){
long long ans=mx-lst;
long long a;
MinMax(lst+1,1e18,&a,&mx);
ans=max(a-lst,mx-a);
return ans;
}else if(N==4){
long long ans;
long long a,b;
MinMax(lst+1,mx-1,&a,&b);
ans=max(a-lst,max(b-a,mx-b));
return ans;
}else if(N==5){
long long ans;
long long a,b;
long long c;
MinMax(lst+1,mx-1,&a,&b);
MinMax(a+1,b-1,&c,&c);
ans=max(a-lst,max(c-a,max(b-c,mx-b)));
return ans;
}
long long ans=1;
while(mx!=lst){
long long a,b;
MinMax(lst+1,lst+ans,&a,&b);
if(a==-1){
while(a==-1){
ans*=2;
MinMax(lst+1,lst+ans,&a,&b);
}
ans=a-lst;
lst=b;
}else{
lst=b;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |