Cod sursa(job #157283)

Utilizator katakunaCazacu Alexandru katakuna Data 12 martie 2008 22:25:06
Problema Schi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

int sol2[30001],x[30001],nr,j,n,i,v[30001],p,s;

int main(){


FILE *f=fopen("schi.in","r");

  fscanf(f,"%d",&n);

  for(i=1;i<=n;i++){
  fscanf(f,"%d",&v[i]);
  }

fclose(f);


//sol[n]=v[n];
sol2[v[n]]=n;
p=v[n]+1;
s=v[n];
x[p-1]=1;

  for(i=n-1;i>=1;i--){

    if(v[i]>=s){
    sol2[p+v[i]-s]=i;
    p=p+(v[i]-s)+1;
    s=v[i];
    x[p-1]=1;
    }


    else{
    nr=0;
    j=0;

      do{
      j++;
      if(!x[j])
      nr++;
      }while(nr!=v[i]);

    //sol[i]=j;
    sol2[j]=i;
    x[j]=1;
    s--;
    }


  }



FILE *g=fopen("schi.out","w");

for(i=1;i<=n;i++)
fprintf(g,"%d\n",sol2[i]);

fclose(g);

return 0;
}