Pagini recente » Cod sursa (job #689074) | Cod sursa (job #2278225) | Cod sursa (job #2231052) | Cod sursa (job #2150727) | Cod sursa (job #2069423)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cerere.in");
ofstream fout("cerere.out");
int N,K[100005],T[100005];
void Read()
{
fin>>N;
for(int i=1;i<=N;i++)
fin>>K[i];
for(int i=1;i<N;i++)
{
int a,b;
fin>>a>>b;
T[b]=a;
}
}
void Solve()
{
for(int i=1;i<=N;i++)
{
int q=i,nr=0;
while(K[q]!=0)
{
int x=K[q];
while(x)
{
q=T[q];
x--;
}
nr++;
}
fout<<nr<<" ";
}
}
int main()
{
Read();
Solve();
return 0;
}