Pagini recente » Cod sursa (job #111285) | Cod sursa (job #1520984) | Statistici Moise Guran (Moise_Guran13) | Rating Grumazescu Radu (Grumazescu) | Cod sursa (job #2816990)
#include<iostream>
#include <fstream>
#include<cstring>
#include<cstdlib>
using namespace std;
int n,a[1001][1001],val[1001],viz[1001];
long long suma[1001];
void citire()
{ ifstream f("asmax.in");
f>>n;
for(int i=1;i<=n;i++)
f>>val[i];
int x,y;
while(f>>x>>y)
a[x][y]=a[y][x]=1;
f.close();
}
void df(int x)
{
int i;
suma[x]=val[x];
viz[x]=1;
for(i=1;i<=n;i++)
if(a[x][i]&&!viz[i])
{
df(i);
if(suma[i]>0)
suma[x]+=suma[i];
}
}
void afis()
{
int i;
long long maxi=suma[1];
ofstream g("asmax.out");
for(i=2;i<=n;i++)
if(suma[i]>maxi)
maxi=suma[i];
g<<maxi;
g.close();
}
int main()
{
citire();
df(1);
afis();
return 0;
}