Pagini recente » Cod sursa (job #1252422) | Cod sursa (job #2731704) | Cod sursa (job #2985398) | Cod sursa (job #3218463) | Cod sursa (job #1126369)
#include <fstream>
using namespace std;
ifstream fin ("cerere.in");
ofstream fout ("cerere.out");
const int NMAX = 100009;
int N; int T[NMAX]; int K[NMAX]; int T2[NMAX];
int main() {
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;
}
for(int i = 1; i <= N; ++i) {
int a = i;
for(int j = K[i]; j; j--)
a = T[a];
T2[i] = a;
}
for(int i = 1; i <= N; ++i) {
int sol = 0, a = i;
while(T2[a] != a) ++sol, a = T2[a];
fout << sol <<" ";
}
return 0;
}