Cod sursa(job #157288)

Utilizator katakunaCazacu Alexandru katakuna Data 12 martie 2008 22:26:59
Problema Schi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 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);
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]);
    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;
}