Cod sursa(job #2518372)

Utilizator bodea.georgianaBodea Georgiana bodea.georgiana Data 5 ianuarie 2020 16:53:37
Problema Asmax Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>
#include <iostream>
#define N 16002
#include <vector>
#include <deque>
#define INF 2000000000
using namespace std;

int c[N],sum[N],ma=-INF;
vector <int> graph[N];
bool viz[N];

void solve(int nod)
{
    int ve;
    viz[nod]=1;
    for(int i=0;i<graph[nod].size();++i)
    {
        ve=graph[nod][i];
        if(!viz[ve])
        {
            solve(ve);
            viz[ve]=1;
            sum[nod]=sum[nod]+sum[ve];
            ma=max(ma,sum[nod]);
        }
    }
}
int main()
{
    ifstream f("asmax.in");
    ofstream g("asmax.out");
    int n,x,y;
    f>>n;
    for(int i=1;i<=n;++i) f>>c[i],ma=max(ma,c[i]);
    for(int i=1;i<=n;++i)
    {
        f>>x>>y;
        graph[x].push_back(y);
        graph[y].push_back(x);
    }
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=n;++j)
            viz[j]=0,sum[j]=c[j];
        solve(i);
    }
    g<<ma;
    f.close();
    g.close();
    return 0;
}