Pagini recente » Cod sursa (job #1514214) | Cod sursa (job #2366447) | Cod sursa (job #289614) | Cod sursa (job #1255375) | Cod sursa (job #1774247)
#include <cstdio>
#include <cstring>
using namespace std;
int next[30005];
int f[30005];
int main()
{ freopen("schi.in", "r",stdin);
freopen("schi.out", "w",stdout);
int n,i,aux,nr,x,ul;
scanf("%d", &n);
memset(f, -1, sizeof(f));
ul=0;
for(i=1; i<=n; i++){
scanf("%d", &x);
if(f[x]==-1){
next[next[f[ul]]]=i;
f[i]=next[f[ul]];
}
else{
if(x==1){
aux=next[0];
next[0]=i;
next[i]=aux;
f[x]=0;
f[x+1]=i;
f[x+2]=aux;
}
else{
aux=next[f[x]];
next[f[x]]=i;
next[i]=aux;
f[x+1]=i;
f[x+2]=aux;
}
}
ul=i;
}
nr=next[0];
while(nr!=0){
printf("%d\n", nr);
nr=next[nr];
}
return 0;
}