Pagini recente » Cod sursa (job #2897420) | Cod sursa (job #21486) | Cod sursa (job #2093287) | Cod sursa (job #3279858) | Cod sursa (job #2133213)
#include<fstream>
using namespace std;
ifstream in ("cerere.in");
ofstream out ("cerere.out");
int n,a,b,x,sol,aux[100001],tata[100001],k[100001];
int main (void) {
in >> n;
for (int i = 1; i <= n; i ++) {
in >> k[i];
}
for (int i = 1; i < n; i ++) {
in >> a >> b;
tata[b] = a;
}
for (int i = 1; i <= n; i ++) {
aux[i] = i;
for (int j = 1; j <= k[i]; j ++) {
aux[i] = tata[ aux[i] ];
}
}
for (int i = 1; i <= n; i ++) {
x = i;
sol = 0;
while (aux[x] != x) {
x = aux[x];
sol++;
}
out << sol <<" ";
}
return 0;
}