9601 2024. 02. 23 14:10:55 csaron71 Kombináció (50) cpp17 Hibás válasz 37/50 3ms 4624 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<int> szamok(m);
	for (int i=0; i<m; i++) {
		cin >> szamok[i];
	}

	//nagyobb
	bool legnagyobb=true; //legnagyobb e?
	bool legkisebb=true;
	for (int i=0; i<m; i++) {
		if (szamok[m-i-1]!=n-i) {
			//cout << "nemnagy\n";
			legnagyobb=false;
		}
		if (szamok[i]!=i+1) {
			//cout << "Nemkicsi\n";
			legkisebb=false;
		}
	}
	/*if (legnagyobb==true) {
		//legnagyobb
		cout << szamok[0]-1 << " ";
		for (int i=1; i<m; i++) {
			cout << szamok[i] << " ";
		}
		cout << "\n";
		for (int i=0; i<m; i++) {
			cout << i+1 << " ";
		}
		return 0;
	}
	if (legkisebb==true) {
		for (int i=n-m+1; i<n+1; i++) {
			cout << i << " ";
		}
		cout << "\n";
		for (int i=0; i<m-1; i++) {
			cout << i+1 << " ";
		}
		cout << m+1 << " \n";
		return 0;
	}*/

	//kisebb
	int kindex=0;
	int kicsi=-1;
	for (int i=1; i<m; i++) {
		if (szamok[m-i]-szamok[m-i-1]!=1) {
			//cout << i << "\n";
			kindex=m-i;
			kicsi=szamok[m-i]-1;
			break;
		}
	}
	if (kicsi==-1) {
		cout << szamok[0]-1 << " ";
		for (int i=1; i<m; i++) {
			cout << i+n-m+1 << " ";
		}
	}
	else {
		for (int i=0; i<kindex; i++) {
			cout << szamok[i] << " ";
		}
		cout << kicsi << " ";
		for (int i=n-(m-kindex-1)+1; i<=n; i++) {
			cout << i << " ";
		}
	}

	cout << "\n";

	//nagyobb
	int hanyadik=-1;
	int melyik=-1;
	for (int i=0; i<m; i++) {
		if (szamok[m-i-1]!=n-i) {
			//cout << m-i << "\n\n";
			hanyadik=m-i-1;
			melyik=szamok[m-i-1]+1;
			break;
		}
	}
	for (int i=0; i<hanyadik; i++) {
		cout << szamok[i] << " ";
	}
	for (int i=0; i<m-hanyadik; i++) {
		cout << melyik+i << " ";
	}


}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 37/50
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 3ms 2060 KiB
3 Hibás válasz 0/2 3ms 2304 KiB
4 Elfogadva 2/2 3ms 2516 KiB
5 Részben helyes 1/2 3ms 2636 KiB
6 Részben helyes 1/2 3ms 2648 KiB
7 Elfogadva 2/2 2ms 2652 KiB
8 Hibás válasz 0/2 3ms 2936 KiB
9 Részben helyes 1/2 3ms 3068 KiB
10 Részben helyes 2/4 3ms 3396 KiB
11 Elfogadva 4/4 3ms 3472 KiB
12 Elfogadva 4/4 3ms 3664 KiB
13 Elfogadva 4/4 3ms 3880 KiB
14 Hibás válasz 0/4 3ms 4060 KiB
15 Elfogadva 4/4 3ms 4300 KiB
16 Elfogadva 6/6 3ms 4484 KiB
17 Elfogadva 6/6 3ms 4624 KiB