Cod sursa(job #3364570)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 5 septembrie 2026 17:37:37
Problema Schi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;

template<typename T, typename Cmp = less<T>>
using ordered_set = tree<T, null_type, Cmp, rb_tree_tag, tree_order_statistics_node_update>;

signed main() {
#ifndef LOCAL
    cin.tie(nullptr)->sync_with_stdio(false);
    freopen("schi.in", "r", stdin);
    freopen("schi.out", "w", stdout);
#endif

    int n; cin >> n;
    vector<int> v(n + 1);
    ordered_set<int> s;
    for (int i = 1; i <= n; ++i) {
        cin >> v[i];
        s.insert(i);
    }

    vector<int> ans(n + 1);
    for (int i = n; i >= 1; --i) {
        auto it = s.find_by_order(v[i] - 1);
        ans[*it] = i;
        s.erase(it);
    }

    for (int i = 1; i <= n; ++i) {
        cout << ans[i] << '\n';
    }

    return 0;
}