21932022-12-30 22:15:04hunor496Titkos sorozatcpp17Accepted 40/4048ms5744 KiB
#include <bits/stdc++.h>
using namespace std;

vector<bool> volt;

int main() {
	int n;
	cin >> n;
	vector<int> sor(n);
	for (int i = 0; i < n; i++) {
		cin >> sor[i];
	}
	int legk = 1;
	int legn = n;
	volt.resize(n);
	vector<int> mo(n);
	for (int i = 0; i < n; i++) {
		if (sor[i] == -1) {
			mo[i] = legn;
			legn--;
		} else {
			mo[i] = legk + sor[i] - i - 2;
			volt[mo[i]] = 1;
			if (mo[i] == legk) {
				legk++;
				while (volt[legk] == 1) {
					legk++;
				}
			}
		}
		cout << mo[i] << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/03ms1684 KiB
2Accepted0/024ms2632 KiB
3Accepted1/12ms2140 KiB
4Accepted1/12ms2344 KiB
5Accepted2/22ms2500 KiB
6Accepted1/12ms2560 KiB
7Accepted1/12ms2696 KiB
8Accepted2/22ms2724 KiB
9Accepted2/246ms4324 KiB
10Accepted2/246ms4528 KiB
11Accepted2/248ms4736 KiB
12Accepted2/248ms4936 KiB
13Accepted2/246ms4888 KiB
14Accepted2/246ms4924 KiB
15Accepted2/246ms4884 KiB
16Accepted3/346ms4888 KiB
17Accepted3/348ms5144 KiB
18Accepted3/346ms5184 KiB
19Accepted3/346ms5436 KiB
20Accepted3/346ms5744 KiB
21Accepted1/145ms5692 KiB
22Accepted1/145ms5688 KiB
23Accepted1/143ms5688 KiB