Pagini recente » Cod sursa (job #1785689) | Cod sursa (job #2684526) | Cod sursa (job #3336305) | Cod sursa (job #3336453) | Cod sursa (job #2052549)
#include <fstream>
#define DIM 250001
using namespace std;
int n,m,i,j,x,y,v[DIM],d[DIM][22],p[DIM];
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int main (){
fin>>n>>m;
for (i=1;i<=n;i++){
fin>>x;
d[i][0] = x;
}
// v[1] = 1;
for (i=2;i<=n;i++)
v[i] = v[i/2] + 1;
// p[0] = 1;
//for (i=1;i<=21;i++)
// p[i] = p[i-1]*2;
for (i=1;i<=n;i++)
for (j=1;j<=21;j++)
d[i][j] = d[d[i][j-1]][j-1];
for (;m--;){
fin>>x>>y;
for (;y && x != 0;){
// if (x == 0 || !y)
// break;
x = d[x][v[y]];
y -= (1<<v[y]);
}
fout<<x<<"\n";
}
return 0;
}