Pagini recente » Cod sursa (job #716672) | Cod sursa (job #2140871) | Cod sursa (job #2132001) | Cod sursa (job #1655768) | Cod sursa (job #1262458)
#include <iostream>
#include <fstream>
#define nmax 100001
using namespace std;
ifstream f("cerere.in");
ofstream g("cerere.out");
int n,k[nmax];
int s[nmax];
int find(int a)
{
}
int main()
{
int a,b,nr_s,nr;
f>>n;
for(int i=1;i<=n;i++)
f>>k[i];
for(int i=1;i<n;i++)
{f>>a>>b;
s[b]=a;}
for(int i=1;i<=n;i++)
{
if(!k[i])g<<0<<" ";
else
{
a=i;
nr_s=0,nr=0;
for(;k[a];) ///cat timp nu gaseste o maimuta desteapta
{
nr_s = k[a];
while(nr_s) ///ajung la stramosul k;
{
a=s[a];
nr_s--;
}
nr++;
}
g<<nr<<" ";
}
}
return 0;
}