Pagini recente » Cod sursa (job #1604778) | Cod sursa (job #348161) | Cod sursa (job #1384130) | Cod sursa (job #1412835) | Cod sursa (job #1257357)
# include <fstream>
using namespace std ;
ifstream in ( "cerere.in" ) ;
ofstream out ( "cerere.out" ) ;
int n , k [ 100002 ] , t [ 100002 ] ;
void read ( ) {
in >> n ;
for ( int i = 1 ; i <= n ; ++ i ) {
in >> k [ i ] ;
}
for ( int i = 1 , a , b ; i <= n - 1 ; ++ i ) {
in >> a >> b ;
t [ b ] = a ;
}
}
void writeanswer ( ) {
for ( int i = 1 ; i <= n ; ++ i ) {
if ( k [ i ] == 0 ) {
out << "0 " ;
continue ;
}
int ans = i , cnt = 0 ;
while ( k [ ans ] != 0 ) {
++ cnt ;
int y = ans ;
for ( int h = 1 ; h <= k [ ans ] ; ++ h ) {
y = t [ y ] ;
}
ans = y ;
}
out << cnt << " " ;
}
}
int main ( ) {
read ( ) ;
writeanswer ( ) ;
}