제출 #1361009

#제출 시각아이디문제언어결과실행 시간메모리
1361009AMel0nGap (APIO16_gap)C++20
12.89 / 100
45 ms5904 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define I signed
set<int> A;
void solve(int l, int r) {
	if (l > r) return ;
	int mn, mx; MinMax(l, r, &mn, &mx);
	// cout << l << ' ' << r << ' ' << mn << ' ' << mx << endl;
	A.insert(mn), A.insert(mx);
	if (mx - mn <= 1) return ;
	solve(mn+1, (mn+mx)/2);
	solve((mn+mx)/2+1, mx-1);
}
int findGap(I T, I N) {
	int mn, mx; MinMax(0, 1e18, &mn, &mx);
	A.insert(mn), A.insert(mx);
	solve(mn+1, (mn+mx)/2);
	solve((mn+mx)/2+1, mx-1);
	if (A.count(-1)) A.erase(-1);
	int res = 0;
	for(auto it = ++A.begin(); it != A.end(); it++) res = max(res, *it - *prev(it));
	return res;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…