Cod sursa(job #1036271)

Utilizator ade_tomi27Enache Adelina ade_tomi27 Data 19 noiembrie 2013 09:31:04
Problema Asmax Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb

#include<stdio.h>
#include<vector>
using namespace std;
vector<int > a[16004];
int n,i,sum[16004],viz[16004],s,maxim;
void parc(int k)
{
    viz[k]=1;
    for(int i=0;i<a[k].size();i++)
    {
        if(viz[a[k][i]]==0)
        {
            parc(a[k][i]);
            if(sum[a[k][i]]>0)
               sum[k]+=sum[a[k][i]];
            if(sum[k]>maxim)
                maxim=sum[k];
        }
    }
}
char c;
int main()
{
    int x,y,x1,y1;
    freopen("asmax.in","r",stdin);
    freopen("asmax.out","w",stdout);
    scanf("%d%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d",&sum[i]);
        if(sum[i]>maxim)
            maxim=sum[i];
    }

    c=2;
    x1=y1=-1;
    while(x1!=x||y1!=y)
    {
        x1=x;
        y1=y;
        scanf("%d%d",&x,&y,&c);
        a[x].push_back(y);
        a[y].push_back(x);


    }
    parc(1);
    printf("%d",maxim);
    return 0;
}