Pagini recente » Cod sursa (job #1784454) | Cod sursa (job #1079377) | Cod sursa (job #2797973) | Cod sursa (job #190896) | Cod sursa (job #878574)
Cod sursa(job #878574)
#include<fstream>
using namespace std;
#define BM 250005
int n,m;
int pre[25][BM];
int main () {
int i,j,p,q,t,c,cn;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
f>>n>>m;
for(i=1;i<=n;++i)f>>pre[0][i];
for(i=1,cn=0;i<=n;i=(i<<1),++cn);
for(i=1;i<=cn;++i)for(j=1;j<=n;++j)pre[i][j]=pre[i-1][pre[i-1][j]];
for(i=1;i<=m;++i){
f>>q>>p;
t=q;
for(;p;){
for(j=1,c=0;(p&j)==0;j=(j<<1),++c);
t=pre[c][t];
p=(p&(p-1));
}
g<<t<<'\n';
}
return 0;
}