Pagini recente » Cod sursa (job #1274790) | Clasament concurs_000003 | Cod sursa (job #2562164) | Cod sursa (job #1545265) | Cod sursa (job #2035165)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int a,b,n,m,d[25][250005];
int main()
{
fin>>n>>m;
for(int i=1;i<=n;++i){
fin>>d[0][i];
}
for(int k=1;k<=21;++k)
for(int i=1;i<=n;++i)
d[k][i]=d[k-1][d[k-1][i]];
for(int i=1;i<=m;++i){
fin>>a>>b;
while(b){
int q=__builtin_ctz(b);
b-=1<<q;
a=d[q][a];
}
fout<<a<<'\n';
}
return 0;
}