Pagini recente » Cod sursa (job #1439196) | Cod sursa (job #2171118) | Cod sursa (job #1020985) | Cod sursa (job #1920219) | Cod sursa (job #1262676)
#include<fstream>
#include<vector>
using namespace std;
struct arbore
{
int val,tata;
};
int main ()
{
ifstream in("cerere.in");
ofstream out("cerere.out");
int n,A,B;
arbore v[100000];
in>>n;
for(int i=0;i<n;i++)
in>>v[i].val;
for(int i=1;i<n;i++)
{
in>>A>>B;
v[B-1].tata=A-1;
}
for(int i=0;i<n;i++)
{
int a=i,c=0,k=v[i].val;
while(k)
{
a=v[a].tata;
if(a==0)
{
c++;
break;
}
k--;
if(k==0)
{
c++;
k=v[a].val;
}
}
out<<c<<' ';
}
}