描述:
给定一个数组,统计前k小的数并且把这k个数从小到大输出。
输入:
第一行包含一个整数n,表示数组的大小。n < 100000。
第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。
第三行包含一个整数k。k < n。
输出:
从小到大输出前k小的数,每个数一行。
样例输入:
10 4 5 6 9 8 7 1 2 3 0 5
样例输出:
0 1 2 3 4
#include<iostream>
#include<queue>
using namespace std;
priority_queue<int,vector<int>,greater<int> > Q;
int main()
{
int sum;
cin>>sum;
for(int n=0;n<sum;n++)
{
int number;
cin>>number;
Q.push(number);
}
int math;
cin>>math;
for(int n=0;n<math;n++)
{
cout<<Q.top()<<endl;
Q.pop();
}
return 0;
}