Pagini recente » Cod sursa (job #1596816) | Cod sursa (job #2784691) | Cod sursa (job #2259998) | Cod sursa (job #3030702) | Cod sursa (job #3158096)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("cerere.in");
ofstream fout("cerere.out");
const int LMAX = 100005;
int k[LMAX],father[LMAX];
int main(){
int n, i, j, nr, strp;
fin>>n;
for (i = 1; i <= n; i++) {
fin>>k[i];
}
for (i = 1; i < n; i++) {
int x, y;
fin>>x>>y;
father[y] = x;
}
for (i = 1; i <= n; i++) {
j = i;
nr = 0;
while (k[j] != 0) {
strp = k[j];///cati stramosi trb sa parcurg
for (int l = 0; l < strp; l++) {
j = father[j]; /// j devine stramosul curentului j
}
nr++;
}
fout<<nr<<" ";
}
fin.close();
fout.close();
return 0;
}