Cod sursa(job #1735339)

Utilizator mIllIbytemIllI byte mIllIbyte Data 29 iulie 2016 15:56:47
Problema Stramosi Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.34 kb
#include<stdio.h>
int n,m,i,j,k,a[19][250001];
main(){freopen("stramosi.in","r",stdin);freopen("stramosi.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=0;i++<n;)scanf("%d",a[0]+i);
for(i=1;1<<i<=n;i++)for(j=1;j<=n;j++)a[i][j]=a[i-1][a[i-1][j]];
for(;m--;){scanf("%d %d",&j,&i);
for(k=1;1<<k<=n;k++);for(;j&&k--;)if(i&1<<k)j=a[k][j];
printf("%d\n",j);}
}