Pagini recente » Cod sursa (job #811573) | Cod sursa (job #2433460) | Cod sursa (job #1282815) | Cod sursa (job #167622) | Cod sursa (job #736289)
Cod sursa(job #736289)
#include <cstdio>
#define MAXN 32768
int T[MAXN], N;
int query(int x){
int res=0;
for( ; x; x-=x&(-x))
res+=T[x];
return res;
}
void update(int x){
for( ; x<=N; x+=x&(-x))
T[x]++;
}
int main(){
freopen("schi.in", "r", stdin);
freopen("schi.out", "w", stdout);
int i, A[MAXN], aux, P[MAXN], pos;
scanf("%d", &N);
for(i=0; i<N; i++)
scanf("%d", A+i);
for(i=N-1; i>=0; i--){
pos=0;
aux=A[i]+query(A[i]);
while(aux != pos){
pos=aux;
aux=A[i]+query(aux);
}
P[pos]=i;
update(pos);
}
for(i=1; i<=N; i++)
printf("%d\n", P[i]+1);
return 0;
}