Cod sursa(job #386658)

Utilizator loginLogin Iustin Anca login Data 25 ianuarie 2010 16:55:02
Problema Stramosi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
# include <fstream>
using namespace std;
int n, m, *a[250003], s[250003];


int main ()
{
	int q, p;
	ifstream fin ("stramosi.in");
	fin>>n>>m;
	for (int i=1;i<=n;i++)
		fin>>s[i];
	for (int i=1;i<=n;i++)
	{
		a[i]=(int *) malloc (4);
		a[i][0]=0;
	}
	int x;
	for (int i=1;i<=n;i++)
	{
		x=i;
		while (s[x])
		{
			a[i][0]++;
			a[i]=(int *) realloc (a[i], (a[i][0]+1)*4);
			a[i][a[i][0]]=s[x];
			x=s[x];
		}
	}		
	ofstream fout ("stramosi.out");
	for (int i=1;i<=m;i++)
	{
		fin>>q>>p;
		if (a[q][0]>=p)
			fout<<a[q][p]<<endl;
		else
			fout<<"0\n";
	}
	return 0;
}