Pagini recente » Cod sursa (job #2729411) | Cod sursa (job #2729416) | Cod sursa (job #2729415) | Cod sursa (job #2729423) | Cod sursa (job #3338485)
#include <fstream>
using namespace std;
int par[25][250005];
int main()
{
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int n, k;
cin >> n >> k;
for(int i = 1; i <= n; i++){
cin >> par[1][i];
}
for(int j = 2; j <= 22; j++){
for(int i = 1; i <= n; i++){
par[j][i] = par[j - 1][par[j - 1][i]];
}
}
int x, s, p, e;
for(int i = 0; i < k; i++){
cin >> x >> s;
p = 1;
e = 1;
while(s > 0){
if(s % 2 == 1){
x = par[e][x];
}
p *= 2;
e++;
s /= 2;
}
cout << x << "\n";
}
return 0;
}