uses math; var i,n,k,l,x:longint; f:array[0..101,0..101]of longint; s:array[0..101]of longint; begin fillchar(f,sizeof(f),$7f div 3); readln(n); s[0]:=0; for i:=1 to n do begin read(x); f[1,i]:=0; s[i]:=s[i-1]+x; end; for l:=2 to n do for x:=1 to n-l+1 do begin for k:=1 to l-1 do f[l,x]:=min(f[l,x],f[k,x]+f[l-k,x+k]); f[l,x]:=f[l,x]+s[x+l-1]-s[x-1]; end; write(f[n,1]); end. /************************************************************** Problem: 2057 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/