Cod sursa(job #2010870)
| Utilizator | Data | 14 august 2017 17:23:38 | |
|---|---|---|---|
| Problema | Cerere | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("cerere.in");
ofstream g("cerere.out");
int n;
int nrs[100002];
int dad[100002];
int a,b;
int p;
int sol(int son)
{
while(nrs[son]>0)
{
p++;
int q=0;
int z=nrs[son];
while(q<z)
{
son=dad[son];
++q;
}
}
return p;
}
int main()
{
f>>n;
for(int i=1;i<=n;++i)
f>>nrs[i];
for(int i=1;i<n;++i)
{
f>>a>>b;
dad[b]=a;
}
for(int i=1;i<=n;++i){
p=0;
g<<sol(i)<<" ";
}
return 0;
}
