Cod sursa(job #2286604)

Utilizator Mihnea_BranzeuMihnea Branzeu Mihnea_Branzeu Data 20 noiembrie 2018 16:02:02
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>

#include <fstream>

#include <vector>

#include <algorithm>

using namespace std;



ifstream fin("asmax.in");

ofstream fout("asmax.out");



const int N=16002;

vector<int> a[N];

bool viz[N];

int s[N],scor[N];

int n,m;



void dfs(int x)

{

    viz[x]=true;

    scor[x]=s[x];

    for(auto y:a[x])

    {

        if(!viz[y])

        {

            dfs(y);

            if(scor[y]>0)

                scor[x]+=scor[y];

        }

    }

}





int main()

{

    int i;

    int x,y;

    fin>>n;

    for(i=1; i<=n; i++)

        fin>>s[i];

    while(fin>>x>>y)

    {

        a[x].push_back(y);

        a[y].push_back(x);

    }

    dfs(1);

    sort(scor+1,scor+n+1);

    fout<<scor[n];

    return 0;

}