Cod sursa(job #41136)

Utilizator pocaituDavid si Goliat pocaitu Data 27 martie 2007 23:13:23
Problema Schi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#define nmax 30001
int l[1],cap,n,urm[nmax];

void insert(int poz,int val)
{int d,i;
 ++l[0]=val;
 if(poz==1)
  {urm[l[0]]=cap;
   cap=l[0];
   }

 else
  {d=cap;
   for(i=1;i<poz-1;i++)
	 d=urm[d];
   poz=d;
   urm[l[0]]=urm[poz];
   urm[poz]=l[0];
   }
 }

int main()
{int x,i,c[nmax],d=0;
 freopen("schi.in","r",stdin);
 scanf("%ld",&n);
 for(i=1;i<=n;i++)
  {scanf("%ld",&x);
   insert(x,i);
   }
 freopen("schi.out","w",stdout);

 i=cap;
 c[i]=1;
 d=1;
 printf("%d\n",cap);
 while(urm[i])
  {i=urm[i];
   printf("%d\n",i);
   }

 fclose(stdout);
 return 0;
 }