Cod sursa(job #2056312)

Utilizator sebi110Ciobanu Sebastian sebi110 Data 4 noiembrie 2017 10:51:50
Problema Asmax Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("asmax.in");
ofstream fout("asmax.out");
int val[16001],maxim;
bool viz[16001];
vector <int>v[16001];
void BFS(int x)
{
    viz[x]=1;
    for(int i=0;i<v[x].size();i++)
    {
        if(viz[v[x][i]]==0){
            BFS(v[x][i]);
            val[x]+=val[v[x][i]];
        }
    }
    if(val[x]<0)
        val[x]=0;
    maxim=max(maxim,val[x]);
}
int main()
{
    int n,i,x,y;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>val[i];
    for(i=1;i<=n;i++)
    {
        fin>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    BFS(1);
    fout<<maxim;
    return 0;
}