题目1431:Sort
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:7107
解决:2338
-
题目描述:
-
给你n个整数,请按从大到小的顺序输出其中前m大的数。
-
输入:
-
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
-
输出:
-
对每组测试数据按从大到小的顺序输出前m大的数。
-
样例输入:
-
5 3 3 -35 92 213 -644
-
样例输出:
-
213 92 3
-
-
简单题,直接贴代码:
-
#include<stdio.h> #include<iostream> #include<algorithm> using namespace std; int a[1000000]; int main(){ int n,m; while(cin>>n>>m&&n>0&&m>0){ int k,j=0; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); for(int i=n-1;i>=n-m;i--){ if(i==n-m) cout<<a[i]; else cout<<a[i]<<' '; } cout<<'\n'; } return 0; }
-
总结:看好数量,顺序,细节问题。