问题 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 }

浙公网安备 33010602011771号