#include <vector>
#include <iostream>
int maxpos(const std::vector<int> array) {
int size = array.size();
int pos = 0;
for (int i = 1; i < size; i++) {
if (array[pos] < array[i]) {
pos = i;
}
}
return pos;
}
std::vector<int> mink_v4(std::vector<int> array, int k) {
std::vector<int> result;
int size = array.size();
for (int i = 0; i < k; i++) {
result.push_back(array[i]);
}
int pos = maxpos(result);
for (int i = k; i < size; i++) {
if (result[pos] > array[i]) {
result[pos] = array[i];
pos = maxpos(result);
}
}
return result;
}
int main(void) {
int n, k;
std::vector<int> array;
std::cout << "Introduceti numarul de elemente: ";
std::cin >> n;
std::cout << "Introduceti numarul elementelor pastrate: ";
std::cin >> k;
std::cout << "Introduceti cele " << n << " numere: ";
for (int i = 0; i < n; i++) {
int value;
std::cin >> value;
array.push_back(value);
}
std::vector<int> result = mink_v4(array, k);
std::cout << "Elementele pastrate sunt:";
for (int i = 0; i < k; i++) {
std::cout << ' ' << result[i];
}
std::cout << std::endl;
}