6415 2023. 11. 28 17:44:36 horvathabel Titkos sorozat cpp17 Elfogadva 40/40 56ms 7504 KiB
#include <bits/stdc++.h>
using namespace std;
bool compa(pair<int,int> a, pair<int,int> b){
	if(a.first!=b.first) return (a.first>b.first);
	return a.second<b.second; 
}
int main() {
	int n;
	cin>>n;
	vector<int> ans;
	ans.resize(n+1,0);
	int mx=n;
	vector<pair<int,int>> v; 
	for (int i=1; i<=n;i++){
		int x;
		cin>>x;
		if (x==-1){
			ans[i]=mx;
			mx--;
		}
		else{
			v.push_back({x,i});
		}
	}
	sort(v.begin(),v.end(), compa);
	for (pair<int,int> x:v){
		ans[x.second]=mx;
		mx--;
	}
	for (int i=1; i<=n;i++) cout<<ans[i]<<" "; 
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1684 KiB
2 Elfogadva 0/0 28ms 3504 KiB
3 Elfogadva 1/1 3ms 2060 KiB
4 Elfogadva 1/1 3ms 2272 KiB
5 Elfogadva 2/2 3ms 2484 KiB
6 Elfogadva 1/1 3ms 2584 KiB
7 Elfogadva 1/1 3ms 2712 KiB
8 Elfogadva 2/2 3ms 2920 KiB
9 Elfogadva 2/2 56ms 6052 KiB
10 Elfogadva 2/2 56ms 6224 KiB
11 Elfogadva 2/2 56ms 6432 KiB
12 Elfogadva 2/2 54ms 6656 KiB
13 Elfogadva 2/2 54ms 6780 KiB
14 Elfogadva 2/2 54ms 6864 KiB
15 Elfogadva 2/2 54ms 6872 KiB
16 Elfogadva 3/3 54ms 6876 KiB
17 Elfogadva 3/3 54ms 6908 KiB
18 Elfogadva 3/3 54ms 7104 KiB
19 Elfogadva 3/3 54ms 7152 KiB
20 Elfogadva 3/3 52ms 7056 KiB
21 Elfogadva 1/1 52ms 7176 KiB
22 Elfogadva 1/1 50ms 7268 KiB
23 Elfogadva 1/1 50ms 7504 KiB