var max,len,n,macv,madv,tak,sum,tata:int64; i,j:longint; w,v:array[0..2000]of int64; f:array[0..2000]of extended; function min(a,b:extended):extended; begin if amax then begin tak:=0; madv:=maxlongint; macv:=maxlongint; tata:=i; for j:=i downto 1 do begin tak:=tak+w[j]; if tak>max then break; if v[j]