Cod sursa(job #3338877)

Utilizator malendraecaterinaMalendra Ecaterina malendraecaterina Data 5 februarie 2026 12:51:37
Problema Schi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;

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

int M;
int n;
int a[100];
int r[100];
int b[100];

void u(int p, int v) {
    for (int i=p; i<=n; i++) 
        b[i]+=v;
}

int s(int p) {
    int t=0;
    for (int i=p; i>0; i--) 
        t+=b[i];
    return t;
}

int f(int k) {
    int l=1, d=n, p=0;
    while (l<=d) {
        int m=(l+d)/2;
        if (s(m)>=k) {
            p=m;
            d=m-1;
        } else {
            l=m+1;}}
    return p;
}

int main() {
    fin >> n;
    for (int i=1; i<=n; i++) 
        fin>>a[i];

    for (int i=1; i<=n; i++) 
        u(i, 1);

    for (int i=n; i>=1; i--) {
        int p=f(a[i]);
        r[p]=i;
        u(p, -1);
    }

    for (int i=1; i<=n; i++) 
        fout<<r[i]<<endl;

    return 0;
}