Cod sursa(job #1114482)

Utilizator roby2001Sirius roby2001 Data 21 februarie 2014 17:58:34
Problema Asmax Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb


#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("asmax.in");
ofstream fout("asmax.out");
int n,a[16005][16005],viz[16005],v[16005],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);
    fout<<maxi;
    return 0;
}