Suma Màxima. X45427


Statement
 

pdf   zip   main.py

html

Un subvector d’un vector V és un tros del vector que va d’una posició i a una posició j (on ij) i que conté els elements V[i], V[i+1], V[i+2], ... V[j]. Un subvector pot tenir una sola posició (i = j). La suma d’un subvector és la suma de tots els elements que conté.

Feu la funció sumamaxima(V) tal que, donat un vector V que conté enters (positius i negatius), torni les posicions (i,j) del subvector de V amb la suma màxima.

Per exemple, si el vector és [1 , −3 , 2 , −1 , 7 , −4 , 8], la funció torna (2,6), ja que el subvector que té la suma més gran va de l’element 2 al 6 (no hi ha cap subvector tal que els seus elements sumin més que 12).

Si tenim el vector [1 , −3 , 2 , −1 , 7 , −4], tornarà (2,4), ja que la suma més gran la conté el subvector que va de la posició 2 a la posició 4.

En cas de subvectors amb la mateixa suma màxima, cal tornar-ne la primera.

Observació

Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet) que et demanem i prou. El fitxer main.py et pot servir per a fer la teva solució, però no cal que n’enviïs el contingut.

Entrada

Un vector V que conté enters (positius i negatius).

Sortida

Un vector amb les posicions (i,j) del subvector de V amb la suma màxima. En cas de subvectors amb la mateixa suma màxima, cal tornar-ne la primera.

Public test cases
  • Input

    1 -3 2 -1 7 -4 8
    

    Output

    2 6
    
  • Input

    1 -3 2 -1 7 -4
    

    Output

    2 4
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python