Submission #81651

#TimeUsernameProblemLanguageResultExecution timeMemory
81651xiaowuc1Gap (APIO16_gap)C++14
0 / 100
41 ms1736 KiB
#include <bits/stdc++.h>
#include "gap.h"

using namespace std;

typedef long long ll;

ll onesolve(int n) {
	return 0;
}

ll twosolve(int n) {
	ll lhs, rhs;
	MinMax(1, 1000000000000000000LL, &lhs, &rhs);
	ll ret = (rhs-lhs+n-2)/(n-1);
	set<ll> all;
	all.insert(lhs);
	all.insert(rhs);
	ll last = lhs+1;
	while(last <= rhs) {
		MinMax(last, last + ret, &lhs, &rhs);
		if(lhs >= 0) {
			all.insert(lhs);
			all.insert(rhs);
		}
		last += ret;
	}
	ll lowest = *all.begin();
	for(ll out: all) {
		ret = max(ret, out - lowest);
		lowest = out;
	}
	return ret;
}

ll findGap(int t, int n) {
	if(t==1) return onesolve(n);
	else return twosolve(n);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...