Diseñad una función @suma_seg(f, n)@ que dada una lista de números y un entero no negativo retorna un booleano y un entero. El booleano será @True@ cuando alguna suma de un segmento inicial de supera a . En este caso el entero a devolver será la posición más pequeña que define un segmento inicial con esta propiedad. Cuando las sumas de todos los segmentos iniciales no superan a la función devolverá el booleano @False@ y el entero .
Para la lista y , el segmento inicial definido por la cuarta posición tiene como suma y no es posible elegir una posición anterior a esta cuya suma supere a . En este caso el resultado de la función será @(True, 4)@
>>> suma_seg([1, -2, 3, 4, 5, 6], 10) (True, 4) >>> suma_seg([1, 3, 1, -2, 0, 1], 12) (False, -1) >>> suma_seg([1, -1], 1) (False, -1) >>> suma_seg([-1, 1], 0) (False, -1) >>> suma_seg([1, -1], 0) (True, 0) >>> suma_seg([3],2) (True, 0) >>> suma_seg([],0) (False, -1)