Pagini recente » Cod sursa (job #249321) | Cod sursa (job #2144008) | Cod sursa (job #11588) | Cod sursa (job #1702935) | Cod sursa (job #2541124)
#include <bits/stdc++.h>
using namespace std;
ifstream f("cerere.in");
ofstream g("cerere.out");
int n;
int k[100001];
int parent[100001];
int who[100001];
int main()
{
f>>n;
int i;
//return 0;
//cout<<n;
for(i=1;i<=n;i++)
f>>k[i];
for(i=1;i<=n-1;i++)
{
int n1,n2;
f>>n1>>n2;
parent[n2]=n1;
}
for(i=1;i<=n;i++)
{
int nod=i;
for(int j=1;j<=k[i];j++)
nod=parent[nod];
who[i]=nod;
}
// for(i=1;i<=n;i++)
// cout<<i<<' '<<who[i]<<'\n';
for(i=1;i<=n;i++)
{
int cnt=0;
int nod=i;
while(k[nod]!=0)
nod=who[nod],++cnt;
g<<cnt<<' ';
}
return 0;
}