Pagini recente » Cod sursa (job #910722) | Cod sursa (job #2513495) | Cod sursa (job #670478) | Cod sursa (job #59834) | Cod sursa (job #364137)
Cod sursa(job #364137)
#include<cstdio>
using namespace std;
#define FIN "stramosi.in"
#define FOUT "stramosi.out"
int stramos[250001],niv[250001],n,m,x,y,aux,pos;
int fct(int a)
{if(y==0 || a==0) return a;
else {y--;return fct(stramos[a]);}}
int main()
{freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d",&n,&m);
niv[0]=0;stramos[0]=0;
for(int i=1;i<=n;i++) niv[i]=stramos[i]=0;
for(int i=1;i<=n;i++)
{scanf("%d",&stramos[i]);niv[i]=niv[stramos[i]]+1;
}
for(;m;m--)
{scanf("%d %d",&x,&y); printf("%d \n",fct(x)); }
return 0;
}