Cod sursa(job #937642)

Utilizator misinoonisim necula misino Data 10 aprilie 2013 18:54:32
Problema Schi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#define maxi 240
using namespace std;
ifstream f("schi.in");
ofstream g("schi.out");
int i,n,x,p[30010],nr[30010],v[30010],nr1[30010];
int rez(int x)
{
    int i;
    for(i=0;i<=maxi;++i)
    if(nr1[i]<x)
    x-=nr1[i];
    else
    break;
    for(i<<=7;;++i)
    {
        if(nr[i])
        --x;
        if(!x)
        return i;
    }
}
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        nr[i]=1;
        ++nr1[i>>7];
        f>>v[i];
    }
    for(i=n;i;--i)
    {
        x=rez(v[i]);
        p[x]=i;
        nr[x]=0;
        --nr1[x>>7];
    }
    for(i=1;i<=n;++i)
    g<<p[i]<<'\n';
    return 0;
}