Pagini recente » Cod sursa (job #953112) | Cod sursa (job #570460) | Cod sursa (job #1583174) | Cod sursa (job #3257509) | Cod sursa (job #157282)
Cod sursa(job #157282)
#include<stdio.h>
int sol2[3001],x[3001],nr,j,n,i,v[30001],sol[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){
sol[i]=p+(v[i]-s);
sol2[p+v[i]-s]=i;
p=sol[i]+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;
}