Submission #486933

#TimeUsernameProblemLanguageResultExecution timeMemory
486933cfalasGap (APIO16_gap)C++14
0 / 100
51 ms1172 KiB
#include "gap.h"
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define INF 10000000
#define MOD 1000000007
#define MID ((l+r)/2)
#define HASHMOD 2305843009213693951
#define ll long long
#define ull unsigned long long
#define F first
#define S second
typedef pair<ll, ll> ii;
typedef pair<ii, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef map<int, int> mii;

#define EPS 1e-6
#define FOR(i,n) for(int i=0;i<((int)(n));i++)
#define FORi(i,a,b) for(int i=((int)(a));i<((int)(b));i++)
#define FOA(v, a) for(auto v : a)

int t, n;
vi a, b;

long long findGap(int T, int n){
	long long int a1=0, an=0;
	MinMax(0, (ll)1e18, &a1, &an);
	long long ans = (an - a1 + n - 2) / (n-1);
	long long start = a1 + 1;
	long long ansstart=-1;
	while(start+ans < an){
		long long a=0, b=0;
		//cout<<start<<" "<<start + ans<<endl;
		MinMax(start, start + ans, &a, &b);
		//cout<<start<<" "<<start + ans<<" "<<a<<" "<<b<<endl;
		if(a==-1){
			if(ansstart==-1) ansstart = start - 1;
			start += ans;
		}
		else{
			if(ansstart==-1) ansstart = a, start = b+1;
			else ans = a-ansstart, ansstart=-1, start+=ans;
		}
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...