Submission #1279038

#TimeUsernameProblemLanguageResultExecution timeMemory
1279038IBoryGap (APIO16_gap)C++20
100 / 100
43 ms3320 KiB
#include "gap.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

ll findGap(int T, int N) {
	vector<ll> A;
	if (T == 1) {
		ll l = 0, r = 1e18;
		for (int i = 0; i < (N + 1) / 2; ++i) {
			MinMax(l, r, &l, &r);
			A.push_back(l); A.push_back(r);
			l++; r--;
		}
	}
	else {
		ll l = 0, r = 1e18;
		MinMax(l, r, &l, &r);
		A.push_back(l); A.push_back(r);
		if (N != 2) {
			ll t = (r - l + N - 2) / (N - 1);
			for (ll i = 0; i < N - 1; ++i) {
				ll tl = l + t * i, tr = l + t * (i + 1) - 1;
				ll a, b;
				MinMax(tl, tr, &a, &b);
				if (a != -1) {
					A.push_back(a);
					A.push_back(b);
				}
			}
		}
	}

	ll ret = 0;
	sort(A.begin(), A.end());
	for (int i = 1; i < A.size(); ++i) ret = max(ret, A[i] - A[i - 1]);
	return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...