Cod sursa(job #1114480)

Utilizator roby2001Sirius roby2001 Data 21 februarie 2014 17:56:35
Problema Asmax Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb


#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;
}