Pagini recente » Cod sursa (job #3355289) | Cod sursa (job #1446458) | Cod sursa (job #707890) | Cod sursa (job #2060746) | Cod sursa (job #3319614)
#include <bits/stdc++.h>
using namespace std;
int dp[21][300005];
int main(){
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int n, m, i, j, p, q, bit;
cin >> n >> m;
for( i = 1; i <= n; i++ )
cin >> dp[0][i];
for( i = 1; i <= 20; i++)
for( j = 1; j <= n; j++ )
dp[i][j] = dp[i - 1][dp[i - 1][j]];
for( i = 1; i <= m; ++i) {
cin >> q >> p;
for ( bit = 0; bit <= 20; ++bit) {
if (p & (1 << bit)) {
q = dp[bit][q];
}
}
cout << q << '\n';
}
}