Cod sursa(job #1770073)

Utilizator KronSabau Valeriu Kron Data 3 octombrie 2016 18:49:59
Problema Cerere Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("cerere.in");
ofstream g("cerere.out");

int node[100001],a[100001],n;

int solve(int id)
{
    int k=0,monkeys=0,nr=0;
    while(a[id]!=0)
    {
        nr=a[id];
        k=0;
        while(k<nr)
        {
            id=node[id];
            k++;
        }
        monkeys++;
    }
    return monkeys;
}

int main()
{
    f >> n ;
    for(int i=1;i<=n;i++)
        f>> a[i];
    int child,parent;
    for(int i=1;i<n;i++)
    {
        f>> parent >> child;
        node[child]=parent;
    }
   for(int i=1;i<=n;i++)
        g  << solve(i) << " ";

    return 0;
}