Pagini recente » Cod sursa (job #1048913) | Cod sursa (job #744422) | Cod sursa (job #2876790) | Cod sursa (job #2592963) | Cod sursa (job #1114480)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("asmax.in");
int n,a[50][50],viz[50],v[50],maxi=-20000;
void citire()
{ int i,j;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
while(fin>>i>>j)
a[i][j]=a[j][i]=1;
}
void asmax(int node)
{
int i;
viz[node]=1;
for(i=1;i<=n;i++)
{ if(a[node][i]==1 && !viz[i] )
{ asmax(i);
if(v[i]>0)
v[node]+=v[i];
}
if(maxi<v[node])
maxi=v[node];
}
}
int main()
{ citire();
int i;
for(i=1;i<=n;i++)
if(maxi>v[i])
maxi=v[i];
asmax(1);
cout<<maxi;
return 0;
}