回分類題庫
e025: 1.雲端列印
關鍵字: 104學年度全國決賽

測資點 : 6 | Time Limit : 10000 ms | Memory Limit : 128000 KB
Accepted : 150 Times / 118 Users | Submit : 932 Times / 183 Users | Accepted rate : 64%
題目加入時間 : 2016-11-17 13:45

Content: 简体中文

雲端列印服務公司提出一個新型服務。該公司有 n 台 3D 印表機,其中印表機 P1, P2, …, Pk 用以優先服務最為重要客戶,印表機 Pk+1, Pk+2, ..., Pn 列印速度較慢,用以優先服務一般客戶。每個客戶依該年度所選擇服務等級及所繳交費用可有不同的列印優先權,以 1, …, 10000 表示之;10000 代表最高列印優先權,1 代表最低列印優先權。

為了不讓低列印優先權的客戶永無止盡的等待,印表機 P1, P2, …, Pk 一旦有空,等待的工作中優先權最高的工作就會被交付列印;而印表機 Pk+1, Pk+2, …, Pn一旦有空,等待的工作中優先權最低的工作就會被交付列印。

請寫一個程式列舉交付列印工作的順序。 

Input:

輸入的第一行有一個整數 T,代表接下來有幾筆測試資料。 

每組測試資料只有一行,共有不定數量的整數(最大 500,000 個工作),整數可為{-2, -1, 0, 1, 2, …, 10000},兩整數之間以一個空白隔開。-2 表示印表機 P1, P2, …, Pk其中一台有空,可以列印最高優先權的工作;-1 表示印表機 Pk+1, Pk+2, …, Pn其中一台有空,可以列印最低優先權的工作;1, 2, …, 10000 代表新增一個優先權為該數字之工作;0 則代表輸入結束。若輸入為 -1 或 -2 但無等待列印的工作,則不列印,需等待下一個 -1 或 -2 才再列印新的工作。

Output:

請依被列印工作的順序,輸出該工作的優先權代號,之後緊接著一個空白。尚未交付列印的工作不需輸出。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
2
20 15 10 -2 -1 -1 0
1 2 3 -2 4 5 6 -1 7 0

Sample Output :

20 10 15
3 1

Hint :

Author :

104學年度全國決賽 (管理員:sagit)

  Solve it!   Status Forum