#include <iostream>
#include <queue>
#include <cstdlib>
#include <vector>
int main()
{
int arr[] = {5,6,7,8,9};
int n = sizeof(arr)/sizeof(arr[0]);
int k = 3;
int y = 7;
std::priority_queue<std::pair<int,int>> maxH;
for(int i=0;i<n;++i)
{
maxH.push(<abs(arr[i]-y),arr[i]>);
if(maxH.size>k)
maxH.pop();
}
while(!maxH.empty())
{
std::cout << maxH.second()<< " " ;
maxH.pop();
}
return 0;
}