Cod sursa(job #2614961)

Utilizator andreiomd1Onut Andrei andreiomd1 Data 12 mai 2020 22:36:53
Problema Heavy Path Decomposition Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#include <vector>

using namespace std;

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

const int NMAX = 1e5 + 5, ROOT = 1;

int N, Q, A[NMAX];

vector < int > G[NMAX];
bool Sel[NMAX];

static inline void Read ()
{
    f.tie(nullptr);

    f >> N >> Q;

    for(int i = 1; i <= N; ++i)
        f >> A[i];

    for(int i = 1; i < N; ++i)
    {
        int X = 0, Y = 0;
        f >> X >> Y;

        G[X].push_back(Y);
        G[Y].push_back(X);
    }

    return;
}

static inline void Go (int Node, int Lvl)
{
    Sel[Node] = 1;

    for(auto it : G[Node])
        if(!Sel[it])
            Go(it, Lvl + 1);

    return;
}

static inline void Precalculation ()
{
    Go(ROOT, 1);

    return;
}

int main()
{
    Read();

    Precalculation();

    return 0;
}