Diseñad una función suma_seg(f, n) que dada una lista f de números y un entero no negativo n retorna un booleano y un entero. El booleano será True cuando alguna suma de un segmento inicial de f supera a n. 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 n la función devolverá el booleano False y el entero −1.
Para la lista f= [1, −2, 3, 4, 5, 6] y n = 10, el segmento inicial definido por la cuarta posición tiene como suma 1 − 2 + 3 + 4 + 5 = 11 y no es posible elegir una posición anterior a esta cuya suma supere a n. 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)