Cod sursa(job #3332760)

Utilizator bagae123Burlacu Andrei bagae123 Data 9 ianuarie 2026 08:29:39
Problema Asmax Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include<algorithm>
#include<vector>
using namespace std;

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

const int NMAX=16005;
vector<int>graph[NMAX+5];
int cost[NMAX+5];
int dp[NMAX+5];
int viz[NMAX+5];
int dfs(int nod)
{
  viz[nod]=1;
  for(auto x : graph[nod])
  {

  if(!viz[x]){

    dfs(x);
    if(dp[x]>0)
    dp[nod]+=dp[x];

  }
  }
}
int main()
{
    int n;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
      fin>>cost[i];
      dp[i]=cost[i];
    }
    int m=n-1;
    int x,y;
    while(m--)
    {
      fin>>x>>y;
      graph[x].push_back(y);
      graph[y].push_back(x);
    }
  dfs(1);
  int Max=-1000;
  for(int i=1;i<=n;i++)
  {
    Max=max(dp[i],Max);
  }
  fout<<Max;
    return 0;
}