제출 #231307

#제출 시각아이디문제언어결과실행 시간메모리
231307peijarGap (APIO16_gap)C++17
70 / 100
81 ms3308 KiB
#include <bits/stdc++.h>
#include "gap.h"
using namespace std;

#define SZ(v) ((int)(v).size())
using ll = long long;

void MinMax(ll lo, ll up, ll *mn, ll *mx);

ll findGap(int sous_tache, int nb_elem)
{
	ll smallest, biggest;
	MinMax((ll)0, (ll)1e18, &smallest, &biggest);
	ll delta = ceil( (long double)(biggest - smallest) / (nb_elem - 1));

	vector<ll> sparse_elem;
	for (ll k(0); k < nb_elem - 1; ++k)
	{
		ll l, r;
		MinMax(smallest + k * delta, smallest + (k+1) * delta-1, &l, &r);
		if (l != -1)
		{
			sparse_elem.push_back(l);
			sparse_elem.push_back(r);
		}
	}
	sparse_elem.push_back(biggest);
	ll ans = delta;
	for (int i(0); i + 1 < SZ(sparse_elem); ++i)
		ans = max(ans, sparse_elem[i+1] - sparse_elem[i]);
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...