Cod sursa(job #3367712)

Utilizator informatica1210Alexia Petre informatica1210 Data 9 octombrie 2026 18:24:28
Problema Schi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include "bits/stdc++.h"
using namespace std;
ifstream f ("schi.in");
ofstream g ("schi.out");
int n,aib[30002];
int ub (int x)
{
    return (x&(-x));
}
void add(int x)
{
    int i;
    for (i=x;i<=n;i+=ub(i))
    {
        aib[i]++;
    }
}
int sum (int x)
{
    int i,s;
    s=0;
    for (i=x;i>=1;i-=ub(i))
    {
        s+=aib[i];
    }
    return s;
}
int v[30002],p[30002];
int main ()
{
    int x,loc,l1,l2;
    f>>n;
    for (x=1;x<=n;x++)
    {
        f>>v[x];
    }
    for (x=n;x>=1;x--)
    {
        loc=v[x];l1=0;
        while (loc!=l1)
        {
            l2=loc;
            loc+=sum(loc)-sum(l1);
            l1=l2;
        }
        p[loc]=x;
        add(loc);
    }
    for (x=1;x<=n;x++)
        g<<p[x]<<endl;
    f.close ();
    g.close ();
    return 0;
}