问题 1758: 查找最小的k个元素

题目链接:https://www.dotcpp.com/oj/problem1758.html

题目描述

找最大值最小值应该已经难不住大家了!那么我们变一哈(ha)

输入n个正整数(可以有重复的情况出现),输出其中最小的k个(如有重复的情况出现,重复输出),其中1≤k≤n≤10000,每个正整数小于10000。例如输入1、4、8、2、5、7、6、3这8个数字,则最小的4个数字为1、2、3、4。

输入
第一行,n和k,用空格隔开。
n个整数,用空格隔开。
输出

最小的k个正整数,且从小到大排序,用空格隔开。

样例输入
8 4
1 2 3 4 5 6 7 8
样例输出
1 2 3 4
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cmath> 
 4 #include <string>
 5 #include <cstring>
 6 #include <map> 
 7 #include <cstdio>
 8 using namespace std;
 9 int a[10005]; 
10 int n,k; 
11 int main()
12 {
13     while(cin>>n>>k){
14         for(int i=0;i<n;i++) cin>>a[i];
15         sort(a,a+n);
16         if(k==1){
17             cout<<a[0]<<endl;
18             continue;
19         }
20         for(int i=0;i<k;i++){
21             if(i==0) cout<<a[i];
22             else cout<<" "<<a[i];
23         }
24         cout<<endl;
25     }
26     return 0;
27 }

 

posted @ 2019-04-21 17:41  wydxry  阅读(464)  评论(0)    收藏  举报
Live2D