Pagini recente » Cod sursa (job #166420) | Cod sursa (job #1399530) | Cod sursa (job #277535) | Cod sursa (job #1120583) | Cod sursa (job #2247528)
#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 = 0 ; j <= 17 ; j++ )
{
dp[i][j+1] = dp[x][j] ;
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' ;
}
}