Cod sursa(job #1074438)

Utilizator gegeadDragos Gegea gegead Data 7 ianuarie 2014 17:47:47
Problema Schi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<cstdio>
#define inf 1000000001
using namespace std;
int t[100001],v[30001],a[30001];

ifstream in("schi.in");



int main()
{
    freopen("schi.out","w",stdout);
    int i,poz,val,n;
    in>>n;
    t[0]=2*n;
    for(i=1;i<=2*n-1;++i)
    {
        in>>v[i];
        if(t[i/2]%2==1&&i%2==0)
            t[i]=t[i/2]/2+1;
        else
            t[i]=t[i/2]/2;
    }
    for(i=n;i>=1;--i)
    {
        poz=1;
        val=v[i];
        while(poz<2*n)
        {
            if(t[poz]>=val)
            {
                --t[poz];
                poz*=2;
            }
            else
            {
                val-=t[poz];
                ++poz;
            }
        }
        a[poz/2-n+1]=i;
    }
    for(i=1;i<=n;++i)
        printf("%d\n",a[i]);
    return 0;
}