Pagini recente » Cod sursa (job #973128) | Cod sursa (job #1326746) | Cod sursa (job #2857262) | Cod sursa (job #99814) | Cod sursa (job #1522716)
#include<cstdio>
using namespace std;
int dp[19][250001];
int main(){
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int n,t,i,j,q,nod,stramos;
scanf("%d%d",&n,&t);
for(i=1;i<=n;i++)
scanf("%d",&dp[0][i]);
for(i=1;i<=18;i++)
for(j=1;j<=n;j++)
dp[i][j]=dp[i-1][dp[i-1][j]];
for(q=1;q<=t;q++){
scanf("%d%d",&nod,&stramos);
j=0;
while(stramos!=0){
if(stramos%2==1)
nod=dp[j][nod];
j++;
stramos/=2;
}
printf("%d\n",nod);
}
return 0;
}