Pagini recente » Cod sursa (job #848344) | Cod sursa (job #1695250) | Cod sursa (job #587708) | Cod sursa (job #2384734) | Cod sursa (job #1536716)
#include <iostream>
#include <fstream>
using namespace std;
int v[100010],k[100010],nr,x,y,i,j,x2,n,p;
ifstream f("cerere.in");
ofstream g("cerere.out");
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>k[i];
for(i=1;i<n;i++)
{
f>>x>>y;
v[y]=x;
}
for(i=1;i<=n;i++)
if(v[i]==0)
{
p=i;
break;
}
for(i=1;i<=n;i++)
{
if(k[i]==0)
g<<"0 ";
else
{
x=i;nr=0;
while(k[x]!=0 && x!=p)
{
x2=x;
for(y=1;y<=k[x];y++)
{
x2=v[x2];
if(x2==p)
break;
}
x=x2;
nr++;
}
g<<nr<<' ';
}
}
}