• Source
    1. #include <vector>
    2. #include <iostream>
    3. #include <queue>
    4.  
    5. std::vector<int> mink_v5(std::vector<int> array, int k) {
    6. std::priority_queue<int, std::vector<int>, std::greater<int>> pq(array.begin(), array.end());
    7. std::vector<int> result;
    8. for (int i = 0; i < k; i++) {
    9. result.push_back(pq.top());
    10. pq.pop();
    11. }
    12. return result;
    13. }
    14.  
    15. int main(void) {
    16. int n, k;
    17. std::vector<int> array;
    18. std::cout << "Introduceti numarul de elemente: ";
    19. std::cin >> n;
    20. std::cout << "Introduceti numarul elementelor pastrate: ";
    21. std::cin >> k;
    22. std::cout << "Introduceti cele " << n << " numere: ";
    23. for (int i = 0; i < n; i++) {
    24. int value;
    25. std::cin >> value;
    26. array.push_back(value);
    27. }
    28. std::vector<int> result = mink_v5(array, k);
    29. std::cout << "Elementele pastrate sunt:";
    30. for (int i = 0; i < k; i++) {
    31. std::cout << ' ' << result[i];
    32. }
    33. std::cout << std::endl;
    34. }