Cod sursa(job #2033021)

Utilizator VarticeanNicolae Varticean Varticean Data 6 octombrie 2017 00:09:05
Problema Asmax Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("asmax.in");
ofstream out("asmax.out");
int cost[10009],n,maxim=-(1 << 30 ), sum;
vector < int > v[10000];
bitset < 10009 > viz;

void read()
{
  in >> n;
  for ( int i=1; i<=n; i++)
     in >> cost[i], maxim = max(maxim,cost[i]);
  int a,b;
  for(int i=1; i<n; i++)
  {
       in >> a >> b;
       v[a].push_back(b);
       v[b].push_back(a);
  }
}

void dfs( int nod )
{
     viz[nod] = 1;

     for( int i=0; i<v[nod].size(); i++)
          if ( !viz[v[nod][i]]) sum += cost[ v[nod][i]] , dfs(v[nod][i]);

}

int main()
{
     read();
     dfs(1);
     out << sum;
    return 0;
}