Cod sursa(job #3158096)

Utilizator Allie28Radu Alesia Allie28 Data 17 octombrie 2023 18:13:17
Problema Cerere Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

ifstream fin("cerere.in");
ofstream fout("cerere.out");

const int LMAX = 100005;

int k[LMAX],father[LMAX];

int main(){
    int n, i, j, nr, strp;
    fin>>n;
    for (i = 1; i <= n; i++) {
        fin>>k[i];
    }
    for (i = 1; i < n; i++) {
        int x, y;
        fin>>x>>y;
        father[y] = x;
    }
    for (i = 1; i <= n; i++) {
        j = i;
        nr = 0;
        while (k[j] != 0) {
            strp = k[j];///cati stramosi trb sa parcurg
            for (int l = 0; l < strp; l++) {
                j = father[j]; /// j devine stramosul curentului j
            }
            nr++;
        }
        fout<<nr<<" ";

    }



    fin.close();
    fout.close();
    return 0;
}