Pagini recente » Cod sursa (job #3225261) | Cod sursa (job #942760) | Cod sursa (job #617318) | Cod sursa (job #2693600) | Cod sursa (job #162144)
Cod sursa(job #162144)
#include <iostream>
int A[18][250001],T[250001];
int main()
{
int n,m,i,ok,p;
freopen ( "stramosi.in" , "r" , stdin );
scanf ( "%d %d" , &n , &m );
for ( i=1 ; i<=n ; i++ )
scanf ( "%d" , &A[0][i] );
for ( p=1 ; ok ; p++ )
for ( ok=0,i=1 ; i<=n ; i++ )
ok|=A[p][i]=A[p-1][A[p-1][i]];
freopen ( "stramosi.out" , "w" , stdout );
while (m--)
{
scanf ( "%d %d" , &i , &ok );
for ( p=0 ; ok&&i ; ok>>=1,p++ )
if (ok&1) i=A[p][i];
printf ( "%d\n" , i );
}
fclose ( stdout );
fclose ( stdin );
return 0;
}