211132026-01-12 11:54:56PappMatyasKombináció (50)cpp17Hibás válasz 34/502ms760 KiB
#include <iostream>
#include <vector>

using namespace std;

static void WriteOut(vector<int> a)
{
	for (int x : a)
	{
		cout << x << " ";
	}
	cout << endl;
}

int main()
{
	int n, m;
	cin >> n >> m;
	vector<int> seats(m);
	vector<int> lowers(m);
	vector<int> highers(m);
	for (int i = 0; i < m; i++)
	{
		cin >> seats[i];
	}
	lowers = seats;
	highers = seats;
	int lower = 0;
	for (int i = m - 1; i >= 1; i--)
	{
		if (seats[i] - 1 > seats[i - 1])
		{
			lower = i;
			break;
		}
		lowers[i] = n + i - m + 1;
	}
	lowers[lower]--;
	WriteOut(lowers);
	lowers[lower]++;

	int higher = 0;
	if (seats[m - 1] + 1 <= n)
	{
		higher = m - 1;
		seats[higher]++;
		WriteOut(seats);
		seats[higher]--;
	}
	else
	{
		for (int i = m - 2; i >= 0; i--)
		{
			if (seats[i] + 1 < seats[i + 1])
			{
				higher = i;
				break;
			}
		}
		for (int i = higher + 1; i < m; i++)
		{
			highers[i] = highers[higher] + i - higher;
		}
		highers[higher]++;
		WriteOut(seats);
		highers[higher]--;
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base34/50
1Hibás válasz0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Részben helyes1/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Részben helyes1/21ms316 KiB
6Részben helyes1/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Részben helyes1/21ms316 KiB
9Részben helyes1/21ms760 KiB
10Részben helyes2/42ms316 KiB
11Részben helyes2/42ms316 KiB
12Részben helyes2/42ms500 KiB
13Elfogadva4/41ms316 KiB
14Részben helyes2/41ms316 KiB
15Elfogadva4/41ms316 KiB
16Részben helyes3/61ms316 KiB
17Elfogadva6/61ms316 KiB