Cod sursa(job #3347722)

Utilizator hrib_the_slothAndreea Pasca hrib_the_sloth Data 18 martie 2026 01:45:15
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long i8;

vector<vector<int>> gf;
vector<int> vla;
vector<int> vst;

void dfs(int n) {
  vst[n] = true;

  for (auto e : gf[n]) {
    if (!vst[e]) {
      dfs(e);
      if (vla[e] > 0) {
        vla[n] += vla[e];
      }
    }
  }
  return;
}
int main() {
  ifstream cin("asmax.in");
  ofstream cout("asmax.out");

  int n;
  cin >> n;

  vla.resize(n + 1);
  vst.resize(n + 1);
  for (int i = 1; i <= n; i++) {
    cin >> vla[i];
    vst[i] = false;
  }

  gf.resize(n + 1);
  for (int i = 0; i < n - 1; i++) {
    int a, b;
    cin >> a >> b;
    gf[a].push_back(b);
    gf[b].push_back(a);
  }

  dfs(1);

  int res = INT32_MIN;
  for (auto e : vla) {
    res = max(e, res);
  }
  cout << max(res, 0) << "\n";
}