Pagini recente » Cod sursa (job #2306044) | Cod sursa (job #204026) | Cod sursa (job #713373) | Cod sursa (job #2835643) | Cod sursa (job #200484)
Cod sursa(job #200484)
/*stramosi*/
#include<fstream.h>
long a[2][2501],n,m,loc,p,q;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
void citire()
{
long i;
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>a[0][i];
if(a[0][i]==0)
a[1][i]=1;
else
a[1][i]=a[1][a[0][i]]+1;
}
}
/*void afisare()
{
long i;
for(i=1;i<=n;i++)
cout<<i<<" "<<a[0][i]<<" "<<a[1][i]<<'\n';
}
*/
int cauta()
{
loc=a[0][q];
while(p!=1)
{
loc=a[0][loc];
p--;
}
return loc;
}
int main()
{
long i;
citire();
// afisare();
for(i=0;i<m;i++)
{
fin>>q>>p;
if(a[1][q]-p<1)
fout<<"0\n";
else
fout<<cauta()<<'\n';
}
fout.close();
return 0;
}