Pagini recente » Cod sursa (job #3216852) | Cod sursa (job #1363744) | Cod sursa (job #1034552) | Cod sursa (job #3041008) | Cod sursa (job #2053071)
#include <fstream>
using namespace std;
ifstream f ("cerere.in");
ofstream g ("cerere.out");
int n,a[100002],lista[100002],x,y,afis,i,nr,j;
int main()
{
f>>n;
for (i=1;i<=n;i++) {
f>>a[i];
}
for (i=1;i<=n-1;i++) {
f>>x>>y;
lista[y]=x;
}
for (i=1;i<=n;i++) {
if (a[i]==0) g<<"0 ";
else {
nr=lista[i];
afis=-1;
for (j=1;j<=a[i]-1;j++) {
nr=lista[nr];
if (nr==0) {
afis=0;
break;
}
}
if (afis==0) g<<"0 ";
else {
afis=1;
while (a[nr]!=0)
{
nr=lista[nr];
afis++;
}
g<<afis<<" ";
}
}
}
return 0;
}