Pagini recente » Cod sursa (job #1863716) | Cod sursa (job #3241001) | Cod sursa (job #1419369) | Cod sursa (job #428574) | Cod sursa (job #33662)
Cod sursa(job #33662)
#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/40&&q;n=n-40,q=b[b[b[b[q]]]]);
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;}