Cod sursa(job #3156120)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 10 octombrie 2023 17:07:01
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
#define N 16005
vector<int> t[N];
bool o[N];
int i,j,n,m=-16e6,v[N];
void D(int i)
{
    int j,k;
    for(o[i]=1,k=t[i].size(),j=0;j<k;++j)
        if(!o[t[i][j]])
            D(t[i][j]),v[i]=max(v[i],v[i]+v[t[i][j]]);
}
int main()
{
    for(f>>n,i=1;i<=n;f>>v[i],++i);
    for(;f>>i>>j;t[i].push_back(j),t[j].push_back(i));
    for(D(1),i=1;i<=n;m=max(m,v[i]),++i);
    return g<<m,0;
}