Cod sursa(job #381772)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 11 ianuarie 2010 16:33:02
Problema Schi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream.h>
int v[65001],v1[65001],v2[65001];
int lfin(int l,int r,int nod,int i)
{--v1[nod];
if (l==r)
 return l;
if (i<=v1[2*nod])
 return lfin(l,(l+r)/2,2*nod,i);
else
 return lfin((l+r)/2+1,r,2*nod+1,i-v1[2*nod]);
}

int main()
{int n,i,x=2;
ifstream q("schi.in");
ofstream w("schi.out");
q>>n;
while(x<n)
  x=x*2;
for (i=1;i<n+1;i++)
  q>>v[i];
for (i=x;i<x+n;i++)
 v1[i]=1;
for (i=x-1;i>0;i--)
 v1[i]=v1[2*i]+v1[2*i+1];
for (i=n;i>0;i--)
 v2[lfin(1,x,1,v[i])]=i;
for (i=1;i<n+1;i++)
 w<<v2[i]<<"\n";
	return 0;
}