Pagini recente » Cod sursa (job #1607685) | Cod sursa (job #2552651) | Cod sursa (job #2140327) | Cod sursa (job #897210) | Cod sursa (job #1546638)
#include<cstdio>
int aib[32001],v[32001],sol[32001],n;
void update(int x, int val){
while(x<=n){
aib[x]+=val;
x=x+(x^(x&(x-1)));
}
}
int main(){
int i,cloc,loc,s,x;
freopen("schi.in","r",stdin);
freopen("schi.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
for(i=n;i>=1;i--){
loc=v[i];
do{
cloc=loc;
s=v[i];
x=loc;
while(x>0){
s+=aib[x];
x=x-(x^(x&(x-1)));
}
loc=s;
}while(cloc!=loc);
update(loc,1);
sol[loc]=i;
}
for(i=1;i<=n;i++)
printf("%d\n",sol[i]);
return 0;
}