Pagini recente » Cod sursa (job #103597) | Cod sursa (job #2150725) | Cod sursa (job #1402166) | Cod sursa (job #2065709) | Cod sursa (job #2035169)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int a,b,n,m,d[25][250005],k=0;
bool ok=1;
int main()
{
fin>>n>>m;
for(int i=1;i<=n;++i){
fin>>d[0][i];
}
while(ok){
ok=0;
k++;
for(int i=1;i<=n;++i)
ok=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;
}