Mine
public text v1 · immutablelet minisomme a =
let x = ref a.(0) and s = ref a.(0) in
for i = 1 to ((Array.length a) - 1) do
x:= min (!x + a.(i)) a.(i);
s:= min !s !x
done;
!s;;
let minisomme a = snd ( iterer (fun (x,s,i) -> let x' = min (s+a.(i)) a.(i) in (x',(min x' s),i+1))
((Array.length a) -1)
(a.(0),a.(0),1));;