Pagini recente » Cod sursa (job #1742910) | Cod sursa (job #59225) | Cod sursa (job #810647) | Cod sursa (job #30916) | Cod sursa (job #675953)
Cod sursa(job #675953)
#include<stdio.h>
FILE *f , *g ;
long n , a[21][250001] , m , q , p;
int main()
{
f=fopen("stramosi.in" , "r" );
g=fopen("stramosi.out" , "w" );
fscanf(f , "%ld%ld" , &n , &m );
for(int i = 1 ; i<= n ; ++i )
fscanf(f , "%d" , &a[0][i]);
for(int i = 1 ; i <= 20 ; i++ )
for(long j = 1 ; j<= n ; ++j )
a[i][j] = a[i-1][a[i-1][j]];
for(long i = 1 ; i<= m ; ++i )
{
fscanf(f , "%ld%ld" , &q , &p);
int y = 0;
while(p)
{
if(p%2)
{
q = a[y][q];
}
y++;
p/=2;
}
fprintf(g , "%ld\n" , q );
}
fclose(f);
fclose(g);
return 0;
}