Pagini recente » Cod sursa (job #1423580) | Cod sursa (job #2069426)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cerere.in");
ofstream fout("cerere.out");
int N,TT[100005],K[100005];
void Read()
{
fin>>N;
for(int i=1;i<=N;++i)
fin>>K[i];
}
void Build()
{
for(int i=1;i<=(N-1);++i)
{
int A,B;
fin>>A>>B;
TT[B]=A;
}
}
void Solve()
{
for(int i=1;i<=N;++i)
{
int contor=0;
int q=i;
while(K[q]!=0)
{
int N=K[q];
while(N!=0)
{
q=TT[q];
N--;
}
contor++;
}
fout<<contor<<" ";
}
}
int main()
{
Read(); Build(); Solve();
return 0;
}