Sigui V un vector de mida
que conté enters (tant positius com negatius). Una
partició de V és una posició
del vector (on
),
tal que que divideix el vector V en dues parts:
V[1:i] i V[(i+1):length(V)]. Es tracta de
trobar la
tal que
sum(V[1:i]) - sum(V[(i+1):length(V)])
sigui mínima (en valor absolut). Aquesta i és la
partició equilibrada.
Fes la funció particio_equilibrada(V) tal que, donat un
vector V, en torni la partició equilibrada. Si n’hi
haguessin més d’una, torneu la de més a l’esquerra. El valor
per a una partició equilibrada és correcte, ja que vol dir que una
partició del vector és buida (i la seva suma és zero).
Per exemple, si la funció rep el vector , torna , ja que , mentre que si rep el vector , torna un , que és la partició equilibrada, ja que és la diferència mínima entre la part esquerra i la dreta.
Tingueu en compte que, si calculeu la suma total del vector al
principi de la funció, podreu resoldre aquest problema amb una
sola passada sobre el vector V.
Un vector V d’enters, amb, almenys, un element.
La partició equilibrada del vector V. Si n’hi haguessin
més d’una, torneu la de més a l’esquerra.
Input
4 4 1 2 3
Output
2
Input
4 2 1 3 4
Output
3