7213 2024. 01. 03 16:43:47 MagyarKendeSZLG Találkozás cpp17 Elfogadva 55/55 37ms 5052 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;
#define all(v) v.begin(), v.end()
#define has(s, e) s.count(e)

using namespace std;
using ll = long long;
using point = array<int, 2>;

const int INF = 100'000;

int main() {
	speed;

	int N;
	cin >> N;

	vector<int> beginS(N), endS(N);

	for (int i = 0; i < N; i++) {
		cin >> beginS[i] >> endS[i];
	}

	sort(all(beginS));
	sort(all(endS));	

	int
	H = N / 2 + (N & 1),
	curr = 0,
	begin = 0, 
	end = 0,
	mn_begin = -1,
	mn_end = -1,
	begin_i = 0,
	end_i = 0;

	for (; begin <= INF; begin++) {

		while ((end <= INF && curr < H) || begin == end) {
			while (begin_i < N && beginS[begin_i] == end) {
				begin_i++;
				curr++;
			}
			end++;
		}

		if (H <= curr && (mn_begin == -1 || end - begin < mn_end - mn_begin)) {
			mn_begin = begin;
			mn_end = end;
		}

		while (end_i < N && endS[end_i] == begin) {
			end_i++;
			curr--;
		}
	}

	cout 
	<< mn_end - mn_begin << '\n' 
	<< mn_begin << ' ' << mn_end - 1; 
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 37ms 3516 KiB
3 Elfogadva 2/2 3ms 2596 KiB
4 Elfogadva 2/2 3ms 2556 KiB
5 Elfogadva 2/2 3ms 2784 KiB
6 Elfogadva 2/2 3ms 2908 KiB
7 Elfogadva 2/2 3ms 3264 KiB
8 Elfogadva 3/3 3ms 3012 KiB
9 Elfogadva 3/3 3ms 3012 KiB
10 Elfogadva 3/3 3ms 3160 KiB
11 Elfogadva 3/3 4ms 3064 KiB
12 Elfogadva 3/3 6ms 3248 KiB
13 Elfogadva 3/3 6ms 3468 KiB
14 Elfogadva 3/3 8ms 3608 KiB
15 Elfogadva 3/3 8ms 3612 KiB
16 Elfogadva 3/3 8ms 3628 KiB
17 Elfogadva 3/3 8ms 3624 KiB
18 Elfogadva 3/3 13ms 3768 KiB
19 Elfogadva 3/3 29ms 4852 KiB
20 Elfogadva 3/3 26ms 4900 KiB
21 Elfogadva 3/3 35ms 5052 KiB
22 Elfogadva 3/3 35ms 4908 KiB