program p22945; var f1,f2:array[0..500,0..500]of longint; i,j,k,n,l,m1,m2:longint; a,sum:array[0..500]of longint; begin readln(n); for i:=1 to n do begin read(a[i]); sum[i]:=sum[i-1]+a[i]; end; fillchar(f1,sizeof(f1),0); fillchar(f2,sizeof(f2),0); for i:=2 to n do for j:=1 to n-i+1 do begin m1:=-maxlongint;m2:=maxlongint; for k:=1 to i-1 do begin if m1<f1[k,j]+f1[i-k,j+k] then m1:=f1[k,j]+f1[i-k,j+k]; if m2>f2[k,j]+f2[i-k,j+k] then m2:=f2[k,j]+f2[i-k,j+k]; end; f1[i,j]:=m1+sum[j+i-1]-sum[j-1]; f2[i,j]:=m2+sum[j+i-1]-sum[j-1]; end; writeln(f2[n,1]); writeln(f1[n,1]); end. /************************************************************** Problem: 2116 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/