Cod sursa(job #65176)
| Utilizator | Data | 7 iunie 2007 13:58:22 | |
|---|---|---|---|
| Problema | Schi | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<stdio.h>
int c[3000],prev[3000],next[3000],i,n,j;
int main()
{
FILE *f,*g;
f=fopen("schi.in","r");
g=fopen("schi.out","w");
fscanf(f,"%d",&n);
prev[n+1]=n;next[0]=1;
for(i=1;i<=n;i++)
{fscanf(f,"%d",&c[i]);next[i]=i+1;prev[i]=i-1;}
for(i=1;i<=n;i++)
{
for(j=prev[n+1];j>=0;j=prev[j])
{ c[j]--;
if(!c[j]) break;
}
fprintf(g,"%d\n",j);
prev[next[j]]=prev[j];
next[prev[j]]=next[j];
}
fcloseall();
return 0;
}
