21932022-12-30 22:15:04hunor496Titkos sorozatcpp17Elfogadva 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] << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1684 KiB
2Elfogadva0/024ms2632 KiB
3Elfogadva1/12ms2140 KiB
4Elfogadva1/12ms2344 KiB
5Elfogadva2/22ms2500 KiB
6Elfogadva1/12ms2560 KiB
7Elfogadva1/12ms2696 KiB
8Elfogadva2/22ms2724 KiB
9Elfogadva2/246ms4324 KiB
10Elfogadva2/246ms4528 KiB
11Elfogadva2/248ms4736 KiB
12Elfogadva2/248ms4936 KiB
13Elfogadva2/246ms4888 KiB
14Elfogadva2/246ms4924 KiB
15Elfogadva2/246ms4884 KiB
16Elfogadva3/346ms4888 KiB
17Elfogadva3/348ms5144 KiB
18Elfogadva3/346ms5184 KiB
19Elfogadva3/346ms5436 KiB
20Elfogadva3/346ms5744 KiB
21Elfogadva1/145ms5692 KiB
22Elfogadva1/145ms5688 KiB
23Elfogadva1/143ms5688 KiB