Cod sursa(job #2014084)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 22 august 2017 21:15:21
Problema Asmax Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("asmax.in");
ofstream fout("asmax.out");
int n,a[17000],mx=-1005,s;
vector<int>v[17000];
queue<int>C;
bool viz[17000];
int Suma(int nod)
        {int s=a[nod],i,s1;
         viz[nod]=1;
         for(i=0;i<v[nod].size();i++)
            {if(viz[v[nod][i]]==0)
             {s1=Suma(v[nod][i]);
              if(s1>0)s+=s1;
             }
            }
         if(mx<s)mx=s;
         return s;
        }
int main()
{int i,x,y;
 fin>>n;
 for(i=1;i<=n;i++)
    {fin>>a[i];
     if(mx<a[i])mx=a[i];
    }
 for(i=1;i<=n-1;i++)
    {fin>>x>>y;
     v[x].push_back(y);
     v[y].push_back(x);
    }
 n=Suma(1);
 fout<<mx;
}