Submission #1323652

#TimeUsernameProblemLanguageResultExecution timeMemory
1323652rafsanamin2020Gap (APIO16_gap)C++20
0 / 100
41 ms3304 KiB
#include <bits/stdc++.h>
#include "gap.h"

using namespace std;

typedef long long ll;

long long findGap(int T, int N)
{
	vector<pair<ll, ll>> segment;

	ll mn, mx;

	MinMax(0, 1E18, &mn, &mx);

	ll s = (mx - mn) / (N - 1);

	if (mx - mn + 1 == N)
	{
		return 1;
	}

	mn++;

	for (int i = 0; i < N; i++)
	{
		ll l, r;
		MinMax(mn + i * s, mn + min((i + 1) * s - 1, (ll)mx), &l, &r);

		if (l != -1)
		{
			segment.push_back({0, 0});
			int j = segment.size() - 1;
			segment[j].first = l;
			segment[j].second = r;
		}
	}

	ll mxdiff = -mn + segment[0].first + 1;

	for (int i = 0; i < segment.size() - 1; i++)
	{
		mxdiff = max(segment[i + 1].first - segment[i].second, mxdiff);
	}

	return mxdiff;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...