2281 2023. 01. 09 12:28:49 renn Titkos sorozat cpp11 Elfogadva 40/40 28ms 6460 KiB
#include <bits/stdc++.h>
using namespace std;

typedef pair<int, int> pii;

struct comp{
    bool operator()(pii a, pii b){
        if(a.first == b.first) return a.second > b.second;
        return a.first < b.first;
    }
};

int main()
{
    cin.tie(0);
    iostream::sync_with_stdio(0);
    int n;
    cin >> n;
    
    vector<pii> A;
    vector<int> B;
    int x;
    
    for(int i = 0; i < n; i++){
        cin >> x;
        if(x == -1){
            B.push_back(i);
        }
        else{
            A.push_back({x, i});
        }
    }
    sort(A.begin(), A.end(), comp());
    sort(B.begin(), B.end(), greater<int>());
    
    vector<int> mo(n);
    int akt = 1;
    for(pii x : A){
        mo[x.second] = akt++;
    }
    for(int x : B){
        mo[x] = akt++;
    }
    
    for(int x : mo){
        cout << x << " ";
    }
    cout << "\n";

    
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1824 KiB
2 Elfogadva 0/0 14ms 3224 KiB
3 Elfogadva 1/1 2ms 2488 KiB
4 Elfogadva 1/1 2ms 2448 KiB
5 Elfogadva 2/2 2ms 2648 KiB
6 Elfogadva 1/1 2ms 2908 KiB
7 Elfogadva 1/1 2ms 3240 KiB
8 Elfogadva 2/2 2ms 3316 KiB
9 Elfogadva 2/2 28ms 5772 KiB
10 Elfogadva 2/2 27ms 5976 KiB
11 Elfogadva 2/2 27ms 5976 KiB
12 Elfogadva 2/2 26ms 5976 KiB
13 Elfogadva 2/2 26ms 6204 KiB
14 Elfogadva 2/2 26ms 6196 KiB
15 Elfogadva 2/2 26ms 6176 KiB
16 Elfogadva 3/3 26ms 6188 KiB
17 Elfogadva 3/3 26ms 6184 KiB
18 Elfogadva 3/3 26ms 6192 KiB
19 Elfogadva 3/3 26ms 6320 KiB
20 Elfogadva 3/3 25ms 6440 KiB
21 Elfogadva 1/1 26ms 6384 KiB
22 Elfogadva 1/1 25ms 6460 KiB
23 Elfogadva 1/1 25ms 6456 KiB