Cod sursa(job #2472416)

Utilizator Eusebiu_VolostiucVolostiuc Eusebiu Eusebiu_Volostiuc Data 12 octombrie 2019 12:38:22
Problema Asmax Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
vector <int> l[16001];
int v[16001];
int sume[16001];
bool viz[16001];
int dfs(int nod)
{
    viz[nod]=1;
    for(auto& i:l[nod])
        if(viz[i]==0)
            sume[nod]+=dfs(i);
    return sume[nod];
}
int main()
{
    int n,x,y;
    f>>n;
    int mn=INT_MAX;
    int mx=INT_MIN;
    for(int i=1; i<=n; i++)
        f>>sume[i],mx=max(mx,sume[i]);
    for(int i=1; i<=n; i++)
    {
        f>>x>>y;
        l[x].push_back(y);
        l[y].push_back(x);
    }
    dfs(mx);

    for(int i=1; i<=n; i++)
    {
        mn=min(mn,sume[i]);
        mx=max(mx,sume[i]);
    }
    g<<mx-mn;
    return 0;
}