Submission #40865

#TimeUsernameProblemLanguageResultExecution timeMemory
40865IvanCGap (APIO16_gap)C++14
14.20 / 100
96 ms1520 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
mt19937_64 gen(rand() ^ (rand() << 16));
typedef long long ll;
typedef pair<ll,ll> ii;
ll NN,TT,maior;
ii binary_search(ll ini,ll fim){
	if(ini == fim) return ii(ini,ini);
	ll copia1 = ini,copia2 = fim;
	MinMax(ini,fim,&copia1,&copia2);
	ini = copia1;
	fim = copia2;
	if(fim - ini <= maior) return ii(ini,fim);
	ll meio = ini + (gen() % (fim - ini));
	ii novo1 = binary_search(ini,meio);
	ii novo2 = binary_search(meio+1,fim);
	if(novo1.second != novo2.first) maior = max(maior, novo2.first - novo1.second);
	return ii(ini,fim);
}
ll findGap(int T,int N){
	TT = T;
	NN = N;
	ll ini = 0,fim = (ll)1e18;
	binary_search(ini,fim);
	return maior;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...