Cod sursa(job #2010870)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu 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;
}