Pagini recente » Cod sursa (job #1227200) | Cod sursa (job #433265) | Cod sursa (job #537693) | Cod sursa (job #1824884) | Cod sursa (job #33663)
Cod sursa(job #33663)
#include<stdio.h>
int a[250001],n,m,q,b[250001];
int main()
{freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d %d",&n,&m);
for(q=1;q<=n;q++)
scanf("%d",&a[q]);
for(q=1;q<=n;q++)
b[q]=a[a[a[a[a[a[a[a[a[a[q]]]]]]]]]];
for(;m;m--)
{scanf("%d %d",&q,&n);
for(;n/50&&q;n=n-50,q=b[b[b[b[b[q]]]]]);
if(n>=40) {n=n-40;q=b[b[b[b[q]]]];}
else if(n>=30) {n=n-30;q=b[b[b[q]]];}
else if(n>=20) {n=n-20;q=b[b[q]];}
else if(n>=10) {n=n-10;q=b[q];}
for(;n&&q;n--,q=a[q]);
printf("%d\n",q);}
fclose(stdout);
return 0;}