Pagini recente » Cod sursa (job #3210209) | Cod sursa (job #709601) | Cod sursa (job #1906297) | Cod sursa (job #2156000) | Cod sursa (job #3259377)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cerere.in");
ofstream fout("cerere.out");
bitset <100001> viz;
vector <int> a, k, r;
int n, i, x, y;
int dfs(int v, int d){
if(d==0) return 1+r[v];
else{
return dfs(a[v], d-1);
}
}
int main(){
fin>>n;
k.assign(n+1, 0);
a.assign(n+1, 0);
r.assign(n+1, 0);
for(i=1;i<=n;i++){
fin>>k[i];
r[i]=-1;
}
for(i=1;i<n;i++){
fin>>x>>y;
a[y]=x;
}
for(i=1;i<=n;i++){
r[i]=dfs(i, k[i]);
fout<<r[i]<<' ';
}
return 0;
}