2389 2023. 01. 12 13:02:11 sztomi Titkos sorozat cpp11 Elfogadva 40/40 29ms 6784 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()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int n;
    cin >> n;
    vector<int> neg;
    vector<pii> tobbi;
    int a;
    for(int i = 1; i <= n; i++){
        cin >> a;
        if(a == -1){
            neg.push_back(i);
        }
        else{
            tobbi.push_back({a, i});
        }
    }
    sort(neg.begin(), neg.end(), greater<int>());
    sort(tobbi.begin(), tobbi.end(), comp());
    vector<int> megoldas(n+1, -1);
    int akt = 1;
    for(auto x : tobbi){
        megoldas[x.second] = akt++;
    }
    for(int x : neg){
        megoldas[x] = akt++;
    }
    for(int i = 1; i <= n; i++){
        cout << megoldas[i] << " ";
    }
    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 14ms 3264 KiB
3 Elfogadva 1/1 2ms 2512 KiB
4 Elfogadva 1/1 2ms 2596 KiB
5 Elfogadva 2/2 2ms 2736 KiB
6 Elfogadva 1/1 2ms 2976 KiB
7 Elfogadva 1/1 2ms 3316 KiB
8 Elfogadva 2/2 2ms 3396 KiB
9 Elfogadva 2/2 29ms 6028 KiB
10 Elfogadva 2/2 28ms 5812 KiB
11 Elfogadva 2/2 28ms 5872 KiB
12 Elfogadva 2/2 28ms 6016 KiB
13 Elfogadva 2/2 28ms 6032 KiB
14 Elfogadva 2/2 27ms 6080 KiB
15 Elfogadva 2/2 27ms 6172 KiB
16 Elfogadva 3/3 27ms 6304 KiB
17 Elfogadva 3/3 27ms 6512 KiB
18 Elfogadva 3/3 27ms 6672 KiB
19 Elfogadva 3/3 27ms 6684 KiB
20 Elfogadva 3/3 26ms 6684 KiB
21 Elfogadva 1/1 26ms 6756 KiB
22 Elfogadva 1/1 26ms 6724 KiB
23 Elfogadva 1/1 26ms 6784 KiB