Cod sursa(job #1440612)

Utilizator ASTELOTudor Enescu ASTELO Data 23 mai 2015 13:29:09
Problema Schi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
#include<set>
using namespace std;
set<int> v;
set<int>::iterator it,it1;
int i,j,n,vc[30001],vec[30001],q;
int main ()
{
freopen("schi.in","r",stdin);
freopen("schi.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
    scanf("%d",&vc[i]);
for(i=n;i>=1;i--)
    {
    q=0;
    it1=v.upper_bound(vc[i]);
    q=distance(v.begin(),it1);
    int pp=0;
    while(pp==0)
        {
        it=v.upper_bound(vc[i]+q);
        vc[i]+=q;
        q=distance(it1,it);
        if(q==0)
            {
            pp=1;
            vec[i]=vc[i];
            }
        it1=it;
        }
    v.insert(vc[i]);
    }
for(i=1;i<=n;i++)
    vc[vec[i]]=i;
for(i=1;i<=n;i++)
    printf("%d\n",vc[i]);
return 0;
}