Pagini recente » Cod sursa (job #2009232) | Cod sursa (job #290143) | Cod sursa (job #1472568) | Cod sursa (job #522051) | Cod sursa (job #124798)
Cod sursa(job #124798)
#include <stdio.h>
int n, a[100000], v[100000];
int afla(int x, int c)
{
if (!a[x] || !v[x]) return c;
else
{
c++;
a[x]--;
x = v[x];
return afla(x, c);
}
}
int main()
{
freopen("cerere.in","r",stdin);
freopen("cerere.out","w",stdout);
int i, j, k;
scanf("%d", &n);
for (i = 1; i <= n; i++) scanf ("%d", a + i);
for (i = 1; i < n ; i++)
{
scanf ("%d %d", &j, &k);
v[k] = j;
}
for (i = 1; i <= n; i++)
{
j = afla(i,0);
printf("%d ", j);
}
printf("\n");
return 0;
}