Cod sursa(job #2482197)

Utilizator qThunderStefan Durlanescu qThunder Data 27 octombrie 2019 21:14:02
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("asmax.in");
ofstream fout("asmax.out");
int v[16004],s[16004],i,j,n;
vector <int> a[16004];
void dfs(int i)
{
    v[i]=1;
    for(int j=0;j<a[i].size();j++)
    {
        int vec=a[i][j];
        if(v[vec]==0)
        {
            dfs(vec);
            if(s[i]+s[vec]>s[i])
                s[i]+=s[vec];
        }
    }
}
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>s[i];
    while(fin>>i>>j)
    {
        a[i].push_back(j);
        a[j].push_back(i);
    }
    dfs(1);
    int maxim=-1004;
    for(i=1;i<=n;i++)
        maxim=max(maxim,s[i]);
    fout<<maxim;
    return 0;
}