CSES 2402 - Two Stacks Sorting
1.0s 512M給你一個含有 \(n\) 個數字的輸入串列。\(1\) 到 \(n\) 之間的每個整數在串列中都恰好出現一次。
你的任務是用兩個堆疊做出排序好的輸出串列。每一步你可以做以下其中一件事:
-
把輸入串列的第一個數字搬到一個堆疊裡
-
把一個堆疊裡的數字搬到輸出串列的末端
輸入格式
第一行有一個整數 \(n\)。
第二行有 \(n\) 個整數:輸入串列的內容。
輸出格式
輸出 \(n\) 個整數:每個數字各被搬進哪一個堆疊(\(1\) 或 \(2\))。
任何一組合法答案皆可。若無解,輸出 IMPOSSIBLE。
範例輸入 1
5
2 3 1 5 4
範例輸出 1
1 2 1 1 2
限制
- \(1 \le n \le 2 \cdot 10^5\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入