Cod sursa(job #3357073)

Utilizator TeodoRazvanStancu Teodor-Razvan TeodoRazvan Data 5 iunie 2026 18:36:20
Problema Schi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
/// soltuie AI

#include <bits/stdc++.h>

using namespace std;

ifstream fin("schi.in");
ofstream fout("schi.out");

int main(){
    ios::sync_with_stdio(false);
    fin.tie(nullptr);
    fout.tie(nullptr);

    int n;
    fin >> n;
    vector<int> v(n), cf(n);
    for(auto &x:v) fin >> x;

    int len = sqrt(n) + 1;
    vector<vector<int>> blocuri(len);

    for(int i = 1; i <= n; i++) {
        blocuri[i / len].push_back(i);
    }

    for(int i = n - 1; i >= 0; i--) {
        int k = v[i];
        int bl_idx = 0;

        while (bl_idx < len && k > blocuri[bl_idx].size()) {
            k -= blocuri[bl_idx].size();
            bl_idx++;
        }

        int ind_in_bloc = k - 1;
        int poz_reala = blocuri[bl_idx][ind_in_bloc];

        cf[poz_reala - 1] = i + 1;

        blocuri[bl_idx].erase(blocuri[bl_idx].begin() + ind_in_bloc);
    }

    for(auto x:cf) fout << x << '\n';

    return 0;
}