Pagini recente » Cod sursa (job #1192159) | Cod sursa (job #944297) | Cod sursa (job #2761518) | Cod sursa (job #56557) | Cod sursa (job #1537952)
#include <bits/stdc++.h>
#define x first
#define y second
#define VM 100005
#define pb push_back
#define ppb pop_back
#define ll long long
#define pii pair<int, int>
using namespace std;
//don't forget to put input in the file!!!
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m, f[20][VM];
int query(int p, int q){
for(int i=0; (i<<i) <= p; ++i)
if((1<<i) & p)
q = f[i][q];
return q;
}
int main(){
fin>>n>>m;
for(int a, i=1; i<=n; ++i){
fin>>a;
f[0][i] = a;
}
for(int i=1; (1<<i) <=n; ++i)
for(int j=1; j<=n; ++j)
f[i][j] = f[i-1][f[i-1][j]];
for(int a, b, i=1; i<=m; ++i){
fin>>b>>a;
fout<<query(a, b)<<'\n';
}
return 0;
}