排序输出
Time Limit(C/C++):4000MS/15000MS Memory Limit:16384KByte
Total Submit:1155 Accepted:185
Total Submit:1155 Accepted:185
Description
给你一些整数,请将它们排序后输出。
Input
输入首先包含一个正整数T(0<T<100),表示测试数据组数。
接下来T组测试数据。
每组测试数据首先包含一个正整数m(m<=5000000),表示本组测试数据包含的数据个数,然后是m行,每行一个正整数n(n<=100000)
Output
对每组测试数据,请将所有数据排序后输出,为了简单一点,相同的数只需要输出一次,每个数据占一行。
Sample Input
2
3
112
111
112
6
1
12345
98765
12008
12010
2009
Sample Output
111
112
1
2009
12008
12010
12345
98765
Hint
本题的测试数据比较多,请使用scanf与printf而不是cin与cout来避免超时
Source
ben
用了当时新学的set,但是运行巨慢,不过AC了
AC代码:
#include<set>
#include<stdlib.h>
#include <iostream>
#include <cstdio>
#include<iterator>
using namespace std;
set<int>::iterator p;
int main()
{
int t,m,a;
scanf("%d",&t);
while(t--)
{
set<int> s;
scanf("%d",&m);
while(m--)
{
scanf("%d",&a);
s.insert(a);
}
for (p=s.begin();p!=s.end();p++)
printf("%d\n",*p);
}
system("pause");
return 0;
}