Submission #1363083

#TimeUsernameProblemLanguageResultExecution timeMemory
1363083akqxolotlGap (APIO16_gap)C++20
0 / 100
38 ms7016 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef vector<int> vi;
typedef pair<int,int> pii;
#define fi first
#define se second
#define sz(x) (int)(x).size()
#define debug(x) cerr<<#x<<" is "<<x<<endl;
#define debugl(x) cerr<<#x<<" is ";for(auto p:x)cerr<<p<<' ';cerr<<endl;
#define pb push_back

set<int> s;
int ans=0;

void sol(int l,int r){
	if(r-l+2<ans)return;
	if(l>r)return;
	int mn,mx;
	MinMax(l,r,&mn,&mx);
	if(mn==-1){
		ans=max(ans,r-l+2);
		return;
	}if(mn==mx){
		s.insert(mn);
		ans=max({ans,mn-l,r-mn});
		return;
	}
	s.insert(mn);
	s.insert(mx);
	int x=(mx-mn-1)/3;
	sol(mn+1,mn+x);
	sol(mn+x+1,mn+x+x);
	sol(mn+x+x+1,mx-1);
}	

long long findGap(signed T, signed N) {
	sol(0,(int)(1e18));
	vi v;
	for(auto i:s)v.pb(i);
	//int ans=0;
	for(int i=0;i<sz(v)-1;i++){
		ans=max(ans,v[i+1]-v[i]);
	}
	return ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...