Economie

Sortam crescator sirul de valori si putem observa ca valoarea cea mai mica din sir sigur va trebui folosita deoarece ea nu poate fi obtinuta adunand alte valori din sir (restul valorilor sunt mai mari sau egale decat aceasta). Fie cea mai mica valoare din sir v1, acum e clar ca putem obtine toate valorile de forma x*v1. Daca v2, a doua cea mai mica valoare din sir nu este de forma x*v1 va trebui sigur sa o folosim si pe ea. In general, daca suntem la pasul i si vi nu poate fi obtinuta din subsetul curent de valori selectate vom introduce vi in subsetul care reprezinta solutia si vom updata toate valorile care se pot obtine considerand si aceasta valoare. Cum am introdus in subsetul solutie doar valorile care erau strict necesare, acesta este si numarul minim de valori. Complexitatea solutiei este O(N*VMAX) ca timp si O(VMAX) ca spatiu, unde VMAX este valoarea maxima din sir, in cazul nostru 50 000.