Pagini recente » Cod sursa (job #1668879) | Cod sursa (job #66844) | Cod sursa (job #224925) | Cod sursa (job #1244563) | Cod sursa (job #2247524)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in") ;
ofstream fout("stramosi.out") ;
int dp[250005][20] ;
int main()
{
int n , m , i , x , y , j , p ;
fin >> n >> m ;
for ( i = 1 ; i <= n ; i++ )
{
fin >> x ;
dp[i][0] = x ;
if ( x )
{
for ( j = 1 ; j <= 18 ; j++ )
{
dp[i][j] = dp[x][j-1] ;
x = dp[x][j] ;
}
}
}
for ( i = 1 ; i <= m ; i++ )
{
fin >> x >> y ;
p = x ;
for ( j = 18 ; j >= 0 ; j-- )
if ( y&(1<<j) )
p = dp[p][j] ;
fout << p << '\n' ;
}
}