Pagini recente » Cod sursa (job #801297) | Cod sursa (job #2699750) | Cod sursa (job #3272815) | Cod sursa (job #2250254) | Cod sursa (job #580800)
Cod sursa(job #580800)
#include <fstream.h>
#define DIM 250003
ifstream f("stramosi.in");
ofstream g("stramosi.out");
long n,m,a[32][DIM];
long L[DIM];
void calc(){
for(register int i=2;i<=n;i++){
L[i]=L[i>>1]+1;
}
}
int main(void){
register int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
f>>a[0][i];
calc();
for(i=1;(1<<i)<=n;i++){
for(j=1;j<=n;j++){
a[i][j]=a[i-1][a[i-1][j]];
}
}
int q,p;
for(i=1;i<=m;i++){
f>>q>>p;
for(;p>0;p-=(1<<L[p])){
q=a[L[p]][q];
}
g<<q<<"\n";
}
return 0;
}