Cod sursa(job #3155725)

Utilizator daria_pDaria Popescu daria_p Data 9 octombrie 2023 15:33:44
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <set>

using namespace std;

ifstream f("asmax.in");
ofstream g("asmax.out");

int n,s[16001],ok[16001],m[16001],maxim,st[16001],nr,S;

set<int> a[16001];

void dfs(int nod)
{
    ok[nod]=1;
    m[nod]=0;
    for(set<int>::iterator it=a[nod].begin();it!=a[nod].end();it++)
    {
        if(ok[*it]==0)
        {
         dfs(*it);
         if(s[*it]>0) s[nod] += s[*it];
        }
    }
    maxim = max(maxim, s[nod]);
}

int main()
{
    int x,y,i;
    f>>n;
    for(i=1;i<=n;i++)
    {
     f>>s[i];
     S+= s[i];
    }
    while(f>>x>>y)
    {
        a[x].insert(y);
        a[y].insert(x);
    }
    maxim=0;
    dfs(1);
    g<<maxim;
    return 0;
}