CSES 2425 - Stack Weights

1.0s 512M

你有 \(n\) 個硬幣,編號 \(1\) 到 \(n\),每個硬幣的重量都不一樣。已知硬幣 \(i\) 的重量大於硬幣 \(i-1\) 的重量(亦即硬幣編號即重量大小排序),但確切重量未知。

有兩個一開始都是空的堆疊:左堆疊與右堆疊。硬幣會一個一個被放進堆疊裡,永遠不會被取出。

每次操作後,請判斷哪個堆疊的總重量比較大,或者判斷無法確定。

輸入格式

  • 第一行:一個整數 \(n\)(硬幣數量)。
  • 接下來 \(n\) 行,每行兩個整數 \(c\) 和 \(s\):將硬幣 \(c\) 放到堆疊 \(s\)(\(1\) 表示左、\(2\) 表示右)。

輸出格式

對每次操作後,輸出一個字元:

  • >:左堆疊一定較重
  • <:右堆疊一定較重
  • ?:無法確定

範例輸入 1

3
2 1
3 2
1 1

範例輸出 1

>
<
?

說明:三次操作後左堆疊有硬幣 \(\{1, 2\}\)、右堆疊有硬幣 \(\{3\}\)。若硬幣重量為 \((2, 3, 4)\),左 = \(5\) > 右 = \(3\);若為 \((1, 2, 5)\),左 = \(3\) < 右 = \(5\)。因此無法確定。

限制

  • \(1 \le n \le 2 \cdot 10^5\)

題目來源

CSES - Stack Weights

題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。

題目頁說明

快速鍵

主要功能

  • 範例測試 — 執行題目附帶的範例測資並自動比對預期輸出。
  • 自訂測試 — 自己貼 stdin 執行程式。可勾選「與預期輸出比對 (diff)」做行對行比對。
  • 模板 — 貼上你在個人資料設定的預設程式碼模板。
  • 協作 — 與其他同學共筆編輯這題的程式碼。
  • 自動草稿 — 編輯器內容每 1.5 秒自動存到瀏覽器(per 帳號 / 題目 / 語言)。
  • 提交 — 把程式碼交給 judge 評測,回傳 AC / WA / TLE 等結果。

限制

  • 程式碼最多 65,536 字元
  • 自訂測試 stdin 與預期輸出各最多 1 MB (約 100 萬字元)
  • 自訂測試與範例測試共用一個沙箱,每人約 3 秒 1 次 (範例測試 1 秒 1 次)
  • 自訂測試與範例測試都有 15 秒 牆鐘上限(正式評測仍依題目原本時限)
  • 互動題不提供自訂測試(無法模擬與 judge 互動)。
  • 提交評測本身沒有 rate limit,但同題短時間內多次提交會被視為刷分。