Cerința
2 puncteDescrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

Arată baremul
a) Pentru răspuns corect - 2p. - descriere coerentă a algoritmului (*) - 1p. - justificare a elementelor de eficiență - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient.
O soluție posibilă utilizează un vector de apariții, ap, unde apₚ memorează numărul de apariții ale prețului p în șirul celor propuse. Pe măsura citirii datelor din fișier se actualizează apₚ pentru fiecare valoare p citită. Valorile cerute, x, y și z (x>y>z, inițializate cu valori nule), se determină prin parcurgerea vectorului de apariții în ordine descrescătoare a lui p și memorând primele prețuri p adecvate pentru fiecare premiu, astfel: dacă apₚ≥n1 și încă nu s-a determinat un preț pentru premiul I (x=0), atunci x=p; dacă apₚ≥n2 și s-a determinat un preț pentru premiul I, dar nu și pentru premiul al II-lea (x≠0, dar y=0), atunci y=p; dacă apₚ≥n3 și s-a determinat un preț pentru premiul al II-lea, dar nu și pentru premiul al III-lea (y≠0, dar z=0), atunci z=p. Algoritmul se încheie dacă z≠0 sau dacă s-a încheiat parcurgerea vectorului de apariții. Dacă după parcurgerea vectorului de apariții z=0, atunci se afișează mesajul indicat.