254342026-02-20 07:34:52SzeredaiNatanaelKombináció (50)cpp17Elfogadva 50/502ms508 KiB
#include <iostream>
#include <vector>

using namespace std;

int main()
{
	int n, m; cin >> n >> m;
	vector<int> v(m + 1);
	vector<int> el(m + 1);
	vector<int> ut(m + 1);

	for (int i = 1; i <= m; ++i) {
		cin >> v[i];

		el[i] = v[i];
		ut[i] = v[i];
	}

	bool t = false;
	for (int i = m; i > 0 && !t; --i) {
		if (el[i] > 1 && (i == 1 || el[i] - 1 > el[i - 1])) {
			--el[i];

			for (int j = i + 1; j <= m; ++j) {
				el[j] = n - (m - j);
			}
			t = true;
		}
	}
	if (!t) {
		for (int i = 1; i <= m; ++i) { 
			el[i] = n - m + i;
		}
	}

	t = false;
	for (int i = m; i > 0 && !t; --i) {
		if (ut[i] < n -(m-i)) {
			++ut[i];

			for (int j = i + 1; j <= m; ++j) {
				ut[j] = ut[j - 1] + 1;
			}
			t = true;
		}
	}
	if (!t) {
		for (int i = 1; i <= m; ++i) {
			ut[i] = i;
		}
	}

	for(int i = 1; i <= m; ++i) {
		cout << el[i] << " ";
	}
	cout << "\n";
	for(int i = 1; i <= m; ++i) {
		cout << ut[i] << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms508 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms332 KiB
9Elfogadva2/21ms508 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/41ms364 KiB
12Elfogadva4/41ms500 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms316 KiB
15Elfogadva4/41ms492 KiB
16Elfogadva6/62ms500 KiB
17Elfogadva6/61ms316 KiB