题目描述 Description
!!!CodeVS开发者有话说:
codevs自从换了评测机,新评测机的内存计算机制发生变化
计算内存的时候会包括栈空间 swap空间
这题的2M是单指内存空间。。。
十分十分抱歉
抱歉
!!!
现在有一大批(总数不超过10000000个)1到10之间的整数,现在请你从小到大进行排序输出。
(测试数据将超过11MB。)
输入描述 Input Description
第一行表示将下排序的个数N;
第2行到最后一行,每行一个数,表示有待排序的数(均是1-10之间的数,含1和10)
(注:最后有一空行)
输出描述 Output Description
输出N个从小到大排列好的数,每行一个(注:最后有一空行)
样例输入 Sample Input
11
9
10
1
2
3
4
5
6
7
8
9
样例输出 Sample Output
1
2
3
4
5
6
7
8
9
9
10
数据范围及提示 Data Size & Hint
注意内存限制只有8MB哦
ps 因为评测机的内存限定是包括栈的,所以扩大了该题的内存限制
这题有内存的限制,所以排序的时候数组声明的不能太大
#include <stdio.h>
#define M 11
int main(void)
{
int num[M]={0};
int n=0, tmp=0,i=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&tmp);
num[tmp]++;
}
for(i=1;i<11;)
{
printf("%d\n",i);
if((--num[i])==0) i++;
}
return 0;
}