Cod sursa(job #2752821)

Utilizator Horis21Horia Radu Horis21 Data 19 mai 2021 18:55:32
Problema Schi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#define V 30001

using namespace std;

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

const int N=1 << 17;

int t[N],q[V],sol[V],n,ord,pos;


void add(int p, int l, int r)
{
    t[p]++;
    if(l==r)
    {
        sol[l]=pos;
        return;
    }
    int m=(l+r)/2;
    if(ord<=(m-l+1-t[2*p])) add(2*p,l,m);
    else
    {
        ord-=(m-l+1-t[2*p]);
        add(2*p+1, m+1,r);
    }
}


int main()
{
    in >> n;
    for(int i=0; i<n; i++)
    {
        in >> q[i];
    }
    for(int i=n-1; i>=0; i--)
    {

        ord=q[i];
        pos=i+1;
        add(1,1,n);
    }
    for(int i=1; i<=n; i++)
        out << sol[i] << "\n";
    return 0;
}