Cod sursa(job #393598)

Utilizator loginLogin Iustin Anca login Data 9 februarie 2010 18:30:07
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
# 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;
}