let 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));;