231132026-01-16 12:29:19GervidIntervallumok (45 pont)cpp17Elfogadva 45/4535ms4476 KiB
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <limits.h>
#include <algorithm>
#include <math.h>
#include <array>

using namespace std;
using ll = long long;

signed main()
{
	iostream::sync_with_stdio(0);
	cin.tie(0);

	int n;
	cin >> n;
	vector<int> points(n);
	for (int i = 0; i < n; i++) cin >> points[i];

	vector<pair<array<int, 2>, vector<int>>> ans;

	for (int k = 1; k < n/2+1; k++) {
		int pps = n / k;
		if (k*pps != n) continue;
		int len = 0;
		for (int i = 0; i < n; i += pps) {
			len = max(len, points[i + pps - 1] - points[i]);
		}
		int lastcovered = points[pps - 1], lastpi = pps - 1;
		ans.push_back({ {k, len}, { points[pps-1]-len } });
		if (k == 1) continue;

		while (lastpi + pps < n) {
			if (lastpi + pps + 1 >= n || points[lastpi + pps + 1] - lastcovered - 1 < len) break;
			lastpi += pps;
			lastcovered = max(points[lastpi], lastcovered + len+1);
			ans.back().second.push_back(lastcovered - len);
		}
		if (lastpi + pps != n-1) ans.pop_back();
		else {
			ans.back().second.push_back(points[lastpi + 1]);
		}
	}
	cout << ans.size() << '\n';
	for (int i = 0; i < ans.size(); i++) {
		cout << ans[i].first[0] << ' ' << ans[i].first[1] << '\n';
		for (int j = 0; j < ans[i].second.size(); j++) cout << ans[i].second[j] << '\n';
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/01ms508 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva1/12ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/12ms316 KiB
7Elfogadva1/114ms820 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/213ms1452 KiB
10Elfogadva2/214ms1716 KiB
11Elfogadva2/213ms1512 KiB
12Elfogadva2/214ms1588 KiB
13Elfogadva2/214ms1332 KiB
14Elfogadva2/23ms564 KiB
15Elfogadva2/23ms708 KiB
16Elfogadva2/24ms820 KiB
17Elfogadva2/27ms996 KiB
18Elfogadva2/26ms1080 KiB
19Elfogadva2/218ms1652 KiB
20Elfogadva2/235ms4408 KiB
21Elfogadva2/234ms4476 KiB
22Elfogadva2/229ms3760 KiB
23Elfogadva2/232ms4212 KiB
24Elfogadva2/28ms564 KiB
25Elfogadva2/217ms2216 KiB
26Elfogadva2/223ms3212 KiB
27Elfogadva2/212ms564 KiB