Pagini recente » Cod sursa (job #1165960) | Cod sursa (job #1240739) | Cod sursa (job #2260620) | Cod sursa (job #1257075) | Cod sursa (job #2720245)
#include <fstream>
#define K 250002
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int x,y,p2[K],log2[K],d[K][22],i,j,n,m;
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
fin>>x;
d[i][0]=x; //d[i][j]=al 2^j lea stramos al lui i
}
for(i=1;i<=n;i++)
for(j=1;(1<<j)<=n;j++)
d[i][j]=d[d[i][j-1]][j-1];
for(i=2;i<=n;i++)
log2[i]=log2[i/2]+1;
for(p2[0]=i=1;(1<<i)<=n;i++)
p2[i]=p2[i-1]*2;
for(;m--;){
fin>>x>>y; //al y lea stramos al lui x?
for(;x!=0 && y!=0;){
x=d[x][log2[y]];
y-=p2[log2[y]];
}
fout<<x<<"\n";
}
return 0;
}