Sumes parcials d'un vector X63590


Statement
 

pdf   zip   main.cc

html

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

Escriviu una funció:

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

que rebi un vector A ordenat d’enters positius i deixi a les variables p i q 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. This problem is being checked.
User solutions
C++