Pagini recente » Cod sursa (job #771541) | Cod sursa (job #2638238) | Cod sursa (job #1504334) | Cod sursa (job #889146) | Cod sursa (job #504445)
Cod sursa(job #504445)
#include<stdio.h>
using namespace std;
int a[21][250005];
int main()
{
int n, t, q, p, i, j;
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&n,&t);
for(i = 1; i<=n; ++i)
scanf("%d", &a[0][i]);
for(i = 1 ; i<=20 ; ++i)
for(j = 1 ; j<=n ; ++j)
a[i][j] = a[i-1][a[i-1][j]];
while( t-- )
{
scanf("%d%d", &q, &p);
i = 0;
while( p )
{
if( p%2 )
q = a[i][q];
p /= 2;
i++;
}
printf("%d\n", q);
}
return 0;
}