# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
156621 | a_player | Gap (APIO16_gap) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define f first
#define s second
#define mp make_pair
#define pb push_back
using namespace std;
void MinMax(int s,int t,int &mn,int &mx);
typedef long long ll;
ll mas=0;
ll v[100001];
ll findGap(int T,int N){
if(T==2){
ll n=-1LL;
int cont=0;
while(cont<N){
ll i=1LL;
ll a,b;
MinMax(n+1,n+i+1,a,b);
while(a==-1LL&&b==-1LL){
i*=2;
MinMax(n+1,n+i+1,a,b);
}
if(n>=0LL)mas=max(mas,a-n);
cont++;
n=a;}
return mas;}
ll a=0,b=1000000000000000000;
int i=0,j=N-1;
while(i<=j){
MinMax(a,b,a,b);
v[i]=a;
v[j]=b;
i++;
j--;
a++;
b--;
}
for(int i=0;i<N-1;i++)mas=max(mas,v[i+1]-v[i]);
return mas;
}