Cod sursa(job #1882855)

Utilizator david.sachelarieDavid Sachelarie david.sachelarie Data 17 februarie 2017 15:49:29
Problema Asmax Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <stdlib.h>
int fii[16000][2];
int calcSuma(int n,int nr){
    int i,suma;
    suma=nr;
    for(i=0;i<n;i++){
        if(fii[i][0]==nr)
            suma+=calcSuma(n,fii[i][1]);
    }
    return suma;
}
int main()
{
    FILE*fin,*fout;
    int n,i,a,b,max=-1001,suma;
    fin = fopen("asmax.in" ,"r");
    fout = fopen("asmax.out" ,"w");
    fscanf(fin, "%d" ,&n);
    for(i=0;i<n;i++)
        fscanf(fin, "%d" ,&fii[i][0]);
    for(i=0;i<n-1;i++){
        fscanf(fin, "%d%d" ,&a,&b);
        if(a<b)
            fii[a][1]=b;
        else
            fii[b][1]=a;
    }
    for(i=0;i<n;i++){
        suma=calcSuma(n,fii[i][0]);
        if(suma>max)
            max=suma;
    }
    fprintf(fout, "%d\n" ,max);
    fclose(fin);
    fclose(fout);
    return 0;
}