146342025-01-22 07:51:18RRoliKövetkező permutáció (50 pont)cpp17Wrong answer 31/50148ms552 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
vector<int> v;
vector<bool> sz;

int kov(int k) {
	k++;
	while(k <= n && sz[k]) k++;
	return k;
}

int main() {
	cin >> n;
	v.resize(n+1);
	sz.resize(n+1, true);
	for(int i = 1; i <= n; i++) cin >> v[i];

	int p = n-1;
	while(v[p] > v[p+1]) {
		sz[v[p]] = false;
		p--;
	}
	sz[v[n]] = false;
	sz[v[p]] = false;

	v[p] = kov(v[p]);
	sz[v[p]] = true;

	int t = n;
	while(kov(v[p]) <= n) {
		v[t] = kov(v[p]);
		sz[v[t]] = true;
		t--;
	}
	while(kov(0) <= n) {
		v[t] = kov(0);
		sz[v[t]] = true;
		t--;
	}

	for(int i = 1; i <= n; i++) cout << v[i] << ' ';

	return 0;
}
SubtaskSumTestVerdictTimeMemory
base31/50
1Accepted0/01ms316 KiB
2Accepted0/04ms316 KiB
3Wrong answer0/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted1/11ms316 KiB
6Accepted1/11ms316 KiB
7Wrong answer0/21ms400 KiB
8Accepted2/21ms316 KiB
9Wrong answer0/21ms332 KiB
10Wrong answer0/21ms552 KiB
11Accepted1/11ms316 KiB
12Accepted1/11ms316 KiB
13Accepted1/12ms316 KiB
14Accepted1/11ms316 KiB
15Wrong answer0/31ms316 KiB
16Accepted3/31ms348 KiB
17Accepted3/31ms316 KiB
18Accepted3/32ms316 KiB
19Accepted3/34ms424 KiB
20Wrong answer0/34ms440 KiB
21Wrong answer0/34ms464 KiB
22Accepted3/37ms440 KiB
23Wrong answer0/36ms548 KiB
24Accepted3/34ms316 KiB
25Accepted2/2148ms448 KiB
26Accepted2/24ms444 KiB