Cod sursa(job #2816990)

Utilizator gavrilp@yahoo.comPetru Florin Gavril [email protected] Data 12 decembrie 2021 17:53:23
Problema Asmax Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#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;
}