Pagini recente » Cod sursa (job #488297) | Cod sursa (job #2421472) | Cod sursa (job #512720) | Cod sursa (job #872701) | Cod sursa (job #1537993)
#include <bits/stdc++.h>
#define x first
#define y second
#define VM 300005
#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; (1<<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>>f[0][i];
}
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>>a>>b;
fout<<query(b, a)<<'\n';
}
return 0;
}