Pagini recente » Cod sursa (job #2031612) | Cod sursa (job #2524449) | Cod sursa (job #823109) | Cod sursa (job #2396097) | Cod sursa (job #1882855)
#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;
}