http://acm.nyist.net/JudgeOnline/problem.php?pid=1080
年龄排序
时间限制:
2000 ms | 内存限制:
240000 KB
难度:
0
-
描述
-
JXB经常向HJS炫耀他们家乡那里有多么多么好,但是HJS大牛从来对此不屑一顾,某日,他又在那说:“我们那里的人寿命都很高,甚至还有一个150岁的老人呢!”,这次HJS大牛准备调查一下,于是收集了那里每个人的年龄数据,首先得把它们从小到大排序,这个简单的任务就交给你了!
-
输入
-
第一行一个n,表示n个数(n<=6000000)
第二行有n个数,表示该地区每个人的年龄
数据只有一组
输出
- 按递增序列输出这些年龄 样例输入
-
6 2 5 6 9 15 3
样例输出
-
2 3 5 6 9 15
提示
- 由题意,所有人的年龄<=150
-
第一行一个n,表示n个数(n<=6000000)
#include<stdio.h>
#include<string.h>
#define MAX 6000000
int a[150+10],b[MAX+10];
int main()
{
int n,m,i,j,k;
scanf("%d",&n);
memset(a,0,sizeof(a));
for(i=0;i<n;i++)
{
scanf("%d",&m);
if(m>150) continue;
a[m]+=1;
}
//memset(b,0,sizeof(b));//不能加这个清零,会超时
for(i=0,j=0;i<=150;i++)
while(a[i]--)
{
printf("%d ",i);
}
// for(i=0;i<j;i++)
// {
// printf("%d",b[i]);
// if(i!=j-1)
// printf(" ");
// }
// printf("\n");
//输出要求不高
//首先最后加不加换行都能过,然后输出最后一个数字后边有没有空格也都能过
return 0;
}