Главная » Статьи » Задачи с acm.timus.ru » Пакет решений на 15.03.08 |
1039
Var T,F: Array[0..6000] of Integer; O: Array[0..6000] of LongInt; I,J,N,R,L,K: LongInt; Function MaxF(K:LongInt):LongInt; Var F1,F2,I,J: LongInt; Begin If O[K]<>0 then begin MaxF:=O[K]; Exit; End; F1:=0; F2:=0; For I:=1 to N do If T[I]=K then begin For J:=1 to N do If T[J]=I then F2:=F2+MaxF(J); F1:=F1+MaxF(I); End; F2:=F2+F[K]; If F2>F1 then O[K]:=F2 else O[K]:=F1; MaxF:=O[K]; End; Begin R:=0; FillChar(T,SizeOf(T),0); FillChar(F,SizeOf(F),0); FillChar(O,SizeOf(O),0); Read(N); For I:=1 to N do Read(F[I]); Repeat Read(L,K); T[L]:=K; Until (K=0); For I:=1 to N do If T[I]=0 then R:=R+MaxF(I); Writeln(R); End. | |
Категория: Пакет решений на 15.03.08 | Добавил: solver (15.03.2008) | |
Просмотров: 851 |