Cod sursa(job #607274)
| Utilizator | Data | 11 august 2011 14:08:22 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
#define N 250001
long n,m,i,x,y,v[N],j,k,p[20][N]={0};
int main()
{freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(k=1;(1<<k)<=n;k++);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]),p[1][i]=v[i];
v[0]=0;
for(i=2;i<=k;i++)
for(j=1;j<=n;j++)
p[i][j]=p[i-1][p[i-1][j]];
while(m--)
{scanf("%ld%ld",&x,&y);
if(y<=k&&x<=n)
printf("%ld\n",p[y][x]);
else
printf("0\n");}
return 0;}
