Cerința
2 puncteDescrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
Arată baremul
3. 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 și y (x>y, 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. Algoritmul se încheie dacă y≠0 sau dacă s-a încheiat parcurgerea vectorului de apariții. Dacă după parcurgerea vectorului de apariții y=0, atunci se afișează mesajul indicat.