Description
输入n个正整数(可以有重复的情况出现),输出其中最小的k个(如有重复的情况出现,重复输出),其中1≤k≤n≤10000,每个正整数小于10000。例如输入1、4、8、2、5、7、6、3这8个数字,则最小的4个数字为1、2、3、4。
Input
第一行,n和k,用空格隔开。
n个整数,用空格隔开。
Output
最小的k个正整数,且从小到大排序,用空格隔开。
Sample Input
8 4
1 2 3 4 5 6 7 8
Sample Output
1 2 3 4
思路
sort排序
代码
#include<stdio.h>
#include<algorithm>
#define MAX 10005
using namespace std;
int main()
{
int n,k;
while(~scanf("%d%d",&n,&k))
{
int num[MAX];
for(int i=0;i<n;i++)
{
scanf("%d",&num[i]);
}
sort(num,num+n);
for(int i=0;i<k;i++)
{
if(i==0)
printf("%d",num[i]);
else
printf(" %d",num[i]);
}
printf("\n");
}
return 0;
}