Cod sursa(job #2050163)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 27 octombrie 2017 23:21:01
Problema Asmax Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <cmath>
#include <cstring>
using namespace std;
ifstream f ("asmax.in");
ofstream g ("asmax.out");

int n, i, v[16010], Max, m, x, y, aux, s;
bool a[16010][16010], ap[16010];

void caut (int w)
{
    ap[w]=1;
    s+=v[w];

    if (s>Max) Max=s;
//    g << w << " " << s << '\n';
    for (int i=1; i<=n; i++){
        if (a[w][i]==1 && ap[i]==0) caut(i);
    }
}

int main ()
{
    f >> n ;
    for (i=1; i<=n; i++) f >> v[i];
    for (i=1; i<n; i++){
        f >> x >> y;
        a[x][y]=a[y][x]=1;
    }

   for (i=1; i<=n; i++){
        memset(ap, 0, sizeof(ap));
        aux=i;
        s=0;
        caut (i);
//        g << '\n';
   }
   g << Max;

    return 0;
}