Sumes parcials d'un vector X63590


Statement
 

pdf   zip   main.cc

Donat un vector AA de nombres enters positius, no buit, i ordenat, volem trobar la posició pp més gran per a la qual existeix una posició qq tal que i=0pA[i]=A[q]\sum_{i=0}^p A[i] = A[q]. Observeu que sempre hi ha una solució trivial: p=q=0p = q = 0

Escriviu una funció:

void sumaparcial(const vector<int> &A, int &p, int &q);

que rebi un vector AA ordenat d’enters positius i deixi a les variables pp i qq els valors que satisfàn les condicions anteriors.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Observació

Les solucions que modifiquin la capçalera de la funció demanada es consideraran invàlides.

Sample session
Call: sumaparcial([1, 2, 3, 4, 5, 6, 7, 8], p, q) 
Result: p=2, q=5

Call: sumaparcial([1, 2, 3, 6, 12, 24, 48, 96], p, q) 
Result: p=6, q=7

Call: sumaparcial([1, 2, 4, 6, 10], p, q) 
Result: p=0, q=0
Information
Author
Professors d'Informàtica FME
Language
Catalan
Official solutions
Unknown.
User solutions
C++