1487 大批整數排序

自為風月馬前卒發表於2017-03-20

個人部落格:doubleq.win

1487 大批整數排序

 

 時間限制: 3 s
 空間限制: 16000 KB
 題目等級 : 黃金 Gold
 
 
 
題目描述 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 因為評測機的記憶體限定是包括棧的,所以擴大了該題的記憶體限制

 1 #include <cstdio>
 2 
 3 using namespace std;
 4 
 5 int n,i,j,t,a[4000010]={0};
 6 
 7 int main(){
 8 
 9 scanf("%d",&n);
10 
11 for(i=1;i<=n;i++){
12 
13 scanf("%d",&t);
14 
15 a[t]++;
16 
17 }
18 
19 for(i=1;i<=n;i++){
20 
21 for(j=1;j<=a[i];j++){
22 
23 printf("%d\n",i);
24 
25 }
26 
27 }
28 
29 return 0;
30 
31 }

 

 

相關文章