Pagini recente » Cod sursa (job #2733671) | Cod sursa (job #3188745) | Cod sursa (job #1477146) | Cod sursa (job #1812525) | Cod sursa (job #116216)
Cod sursa(job #116216)
#include <string.h>
#include <stdio.h>
#define N 300005
int main ()
{FILE *f,*ff;
f=fopen("stramosi.in","r");
ff=fopen("stramosi.out","w");
long a[18][N],n,m,i,x,y,j,p,q;
memset(a,0,sizeof(a));
fscanf(f,"%ld%ld",&n,&m);
for (i=1;i<=n;i++)
{fscanf(f,"%ld",&a[0][i]);
}
for (j=1;j<=17;j++)
{for (i=1;i<=n;i++)
{a[j][i]=a[j-1][a[j-1][i]];}
}
for (i=1;i<=m;i++)
{fscanf(f,"%ld%ld",&p,&q);//q e ord
i=i;
while(q)
{x=q;y=0;while(x>1){x/=2;y++;}
p=a[y][p];
q-=1<<y;
}
fprintf(ff,"%ld\n",p);
}
fclose(f);
fclose(ff);
return 0;
}