Cod sursa(job #392423)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 7 februarie 2010 15:03:53
Problema Cerere Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
# include <fstream.h>
ifstream f ("cerere.in");
ofstream g ("cerere.out");
int c[100005],t[100000],ct[100000],x,y,i,j,n,k;

int main ()
{
	f>>n;
	for (i=1;i<=n;i++)
		f>>c[i];
	
	for (i=1;i<n;i++)
	{
		f>>x>>y;
		t[y]=x;
	}
	
	for (i=1;i<=n;i++)
	{x=0;
		if (c[i]!=0)
			x=t[i];
		
		for (j=1;j<c[i];j++)
		x=t[x];
		
		ct[i]=x;
	}
		
	
	for (i=1;i<=n;i++)
	{
		k=0;
		if (c[i])
		{
		x=ct[i];
		k++;
		while (ct[x])
			{
				x=ct[x];
				k++;
	    	}
		}
			g<<k<<" ";
	}
	return 0;
}