Cerinţa
Scrieţi definiția completă a subprogramului C++ cu antetul:
int EliminaElemente(int a[], int n, int m)
Subprogramul returnează numărul minim de numere distincte care pot să rămână în a
după eliminarea a exact m
elemente. De exemplu, dacă a = (4,4,4,7,3,5)
și m = 3
, atunci se elimină 7
, 3
și 5
și a = (4,4,4)
, deci rămâne un singur număr distinct.
Restricţii şi precizări
0 ≤ a[i] ≤ 1.000
2 ≤ m ≤ n ≤ 10.000
- elementele vectorului
a
sunt indexate de la0
- Puteți utiliza în rezolvare orice structură de date.
Exemplu:
Dacă n=11
, a=(3,8,1,1,1,3,3,3,2,9,8)
și m=5
, funcția va returna 2
, deoarece se elimină numerele 8
, 1
, 2
, 9
, 8
și rămân doar două numere distincte, 1
și 3
.
Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.