Pagini recente » Cod sursa (job #564396) | Cod sursa (job #555082) | Cod sursa (job #1290305) | Cod sursa (job #2507557) | Cod sursa (job #1848020)
#include <iostream>
#define in "stramosi.in"
#define out "stramosi.out"
using namespace std;
int a[20][250001];
int stramos(int x, int p) {
int aux = x;
for (int i=0; (1<<i) <= p; i++) {
if((1<<i)&p) {
aux = a[i][aux];
}
}
return aux;
}
int main() {
freopen(in, "r", stdin);
freopen(out, "w", stdout);
int N, M;
cin>>N>>M;
for (int i=1; i<= N; i++) {
cin>>a[0][i];
}
for (int k=1; k<=18; k++) {
for (int i=1; i<=N; i++) {
a[k][i] = a[k-1][a[k-1][i]];
}
}
int s, p;
for (int k=1; k<=M; k++) {
cin>>s>>p;
cout<<stramos(s,p)<<endl;
}
// for (int i=0; i<=N; i++) {
// for (int j=1; j<=N; j++) {
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
return 0;
}