213132026-01-12 18:21:43PappMatyasTalálkozáscpp17Elfogadva 55/5568ms1268 KiB
#include <iostream>
#include <vector>

using namespace std;

const int maxLength = 100000;

int main()
{
	int n;
	vector<int> starts(maxLength, 0);
	vector<int> ends(maxLength, 0);

	cin >> n;

	int lastDay = 0;

	for (int i = 0; i < n; i++)
	{
		int s, e;
		cin >> s >> e;
		starts[s - 1]++;
		ends[e - 1]++;
		lastDay = max(lastDay, e);
	}

	int ce = 0, total = starts[0];

	int minimum = maxLength + 1;

	int se = -1;
	int ss = -1;

	float threshold = float(n) / 2;

	for (int i = 0; i < lastDay; i++)
	{
		while (total < threshold && ce < lastDay - 1)
		{
			ce++;
			total += starts[ce];
		}
		if (ce - i + 1 < minimum && total >= threshold && ce - i + 1 > 0)
		{
			minimum = ce - i + 1;
			se = ce + 1;
			ss = i + 1;
		}
		total -= ends[i];
	}

	cout << minimum << endl << ss << " " << se << endl;

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/02ms1268 KiB
2Elfogadva0/067ms1076 KiB
3Elfogadva2/22ms1076 KiB
4Elfogadva2/22ms1076 KiB
5Elfogadva2/22ms1076 KiB
6Elfogadva2/22ms1076 KiB
7Elfogadva2/23ms1076 KiB
8Elfogadva3/32ms1132 KiB
9Elfogadva3/32ms1076 KiB
10Elfogadva3/32ms1076 KiB
11Elfogadva3/37ms1080 KiB
12Elfogadva3/38ms1084 KiB
13Elfogadva3/38ms1096 KiB
14Elfogadva3/313ms1192 KiB
15Elfogadva3/314ms1200 KiB
16Elfogadva3/313ms1200 KiB
17Elfogadva3/313ms1196 KiB
18Elfogadva3/321ms1076 KiB
19Elfogadva3/368ms976 KiB
20Elfogadva3/361ms1152 KiB
21Elfogadva3/365ms1200 KiB
22Elfogadva3/367ms1124 KiB