Pagini recente » Cod sursa (job #2133734) | Cod sursa (job #2708455) | Cod sursa (job #2415195) | Cod sursa (job #2492827) | Cod sursa (job #2940954)
#include <bits/stdc++.h>
using namespace std;
ifstream in("cerere.in");
ofstream out("cerere.out");
int n,i,x,y,v[100001],nr;
vector <int> q[100001];
int main()
{
in>>n;
for(i=1; i<=n; ++i)
in>>v[i];
for(i=1; i<n; ++i)
{
in>>x>>y;
q[y].push_back(x);
for(int j=0; j<q[x].size(); ++j)
q[y].push_back(q[x][j]);
}
for(i=1; i<=n; ++i)
{
x=i,nr=0;
while(v[x])
{
++nr;
x=q[x][v[x]-1];
}
out<<nr<<" ";
}
}