Pagini recente » Cod sursa (job #2667445) | Cod sursa (job #2470424) | Cod sursa (job #1999137) | Cod sursa (job #1369428) | Cod sursa (job #1723962)
#include <bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
const int NMAX = 250003;
int dp[20][NMAX];
int main()
{
int n, m, x, p, q;
f>> n >> m;
for(int i = 1; i<=n ; i++)
{
f>> x;
dp[0][i] = x;
}
for(int i = 1; (1 << i) <= n; i++)
{
for(int j = 1 ; j <= n ; j++)
dp[i][j] = dp[i-1][dp[i-1][j]];
}
for(int i = 1; i <= m ; i++)
{
f>> p >> q;
for(int j = 0; j <= 20 ; j++)
{
if( q & (1<<j) ){
p = dp[j][p];
}
}
g<< p << "\n";
}
return 0;
}