Pagini recente » Cod sursa (job #1502530) | Cod sursa (job #40481) | Cod sursa (job #612032) | Borderou de evaluare (job #2908258) | Cod sursa (job #393598)
Cod sursa(job #393598)
# include <fstream>
# include <cstdio>
using namespace std;
int t[250003], s[250003], n, m;
ifstream fin ("stramosi.in");
void read ()
{
fin>>n>>m;
for (int i=1;i<=n;i++)
{
fin>>t[i];
if (t[i]==0)
s[i]=0;
else
s[i]=1+s[t[i]];
}
}
int afla (int q, int p)
{
if (s[q]<p)
return 0;
for(int i=1;i<=p;i++)
q=t[q];
return q;
}
int main ()
{
read ();
freopen ("stramosi.out", "w", stdout);
int p, q;
for (;m;--m)
{
fin>>q>>p;
printf("%d\n", afla(q, p));
}
return 0;
}