230532026-01-16 11:21:15AblablablaTitkos sorozatcpp17Wrong answer 0/4063ms2728 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

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

        return a.second > b.second;
    }
};

int main()
{
    int n;
    cin >> n;

    vector<int> alap(n);
    for(int &x : alap){
        cin >> x;
    }

    int a = 5;
    vector<int> ans(n);
    vector<pii> hely;

    for(int i = 0; i < n; i++){
        if(alap[i] == -1){
            ans[i] = a;
            a--;
        } else{
            hely.push_back({i, alap[i] - i - 2});
        }
    }

    sort(hely.begin(), hely.end(), comp());


    for(auto x : hely){
        ans[x.first] = a;
        a--;
    }

    for(int x : ans){
        cout << x << " ";
    }
    cout << "\n";
}
SubtaskSumTestVerdictTimeMemory
base0/40
1Accepted0/01ms316 KiB
2Wrong answer0/030ms1452 KiB
3Wrong answer0/11ms316 KiB
4Wrong answer0/11ms508 KiB
5Wrong answer0/21ms352 KiB
6Wrong answer0/11ms316 KiB
7Wrong answer0/11ms316 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/259ms2716 KiB
10Wrong answer0/261ms2712 KiB
11Wrong answer0/259ms2708 KiB
12Wrong answer0/259ms2728 KiB
13Wrong answer0/259ms2728 KiB
14Wrong answer0/263ms2720 KiB
15Wrong answer0/257ms2712 KiB
16Wrong answer0/359ms2712 KiB
17Wrong answer0/361ms2712 KiB
18Wrong answer0/359ms2728 KiB
19Wrong answer0/359ms2728 KiB
20Wrong answer0/359ms2728 KiB
21Wrong answer0/154ms2472 KiB
22Wrong answer0/154ms2472 KiB
23Wrong answer0/152ms2476 KiB