s456. pA. 失靈的火災警報器(Alarm)
標籤 : 空間O(1) 迴圈
通過比率: 1人/ 1人 ( 100%) [非即時]
評分方式:
Tolerant

最近更新 : 2026-06-02 21:40

內容

定溫式火災警報器的原理是,當環境溫度達到或超過警示溫度以上的時候,裝置內的感溫金屬片就會因高溫膨脹而觸發警報開關。
警示溫度必須是整數,如果金屬生鏽或年久失修,會導致火災警報器失靈,因此你必須定期對內部警示溫度校準。

給定 N 組歷史事件,對於每組事件包含(Ci, Di),分別為所偵測到的溫度 Ci 和實際是否為火災事件 Di(0 代表非火災事件,1 代表為火災事件),並且保證火災與非火災事件至少各有一組。

請計算有幾種合理可設定整數警示溫度 T,即對所有歷史事件皆滿足:
若 Ci < T 則該事件必須非火災事件(Di = 0)
若 Ci ≥ T 則該事件必須為火災事件(Di = 1)
若不存在任何合理警示溫度,請輸出"I am a robot."

另外因近期記憶體和硬碟短缺,因此你只有 500 KB 可以使用(黃仁勳,這就是你想要的世界嗎?)

輸入說明

第一行有一個正整數 N,代表總共有 N 組歷史事件
2 ≤ N ≤ 105

接著有 N 行,每行有兩個整數 C和 Di,代表所偵測到溫度和實際是否為火災事件
-1018 ≤ Ci ≤ 1018
Di = 0 代表非火災事件,Di = 1 代表為火災事件

保證所有測資中火災與非火災事件都至少各有一組

輸出說明

計算有幾種整數的合理警示溫度
若不存在任何合理警示溫度,請輸出"I am a robot."

範例輸入 #1
5
60 0
70 0
80 1
90 1
100 1
範例輸出 #1
10
範例輸入 #2
5
90 1
60 0
80 1
70 0
100 1
範例輸出 #2
10
範例輸入 #3
4
100 0
120 1
150 0
180 1
範例輸出 #3
I am a robot.
範例輸入 #4
3
50 0
50 1
60 1
範例輸出 #4
I am a robot.
測資資訊:
記憶體限制: 6 MB
公開 測資點#0 (5%): 2.0s , <1K
公開 測資點#1 (5%): 2.0s , <1K
公開 測資點#2 (5%): 2.0s , <1K
公開 測資點#3 (5%): 2.0s , <1K
公開 測資點#4 (5%): 2.0s , <1M
公開 測資點#5 (5%): 2.0s , <1M
公開 測資點#6 (5%): 2.0s , <1K
公開 測資點#7 (5%): 2.0s , <1K
公開 測資點#8 (5%): 2.0s , <10M
公開 測資點#9 (5%): 2.0s , <10M
公開 測資點#10 (5%): 2.0s , <1M
公開 測資點#11 (5%): 2.0s , <1M
公開 測資點#12 (5%): 2.0s , <10M
公開 測資點#13 (5%): 2.0s , <10M
公開 測資點#14 (5%): 2.0s , <1K
公開 測資點#15 (5%): 2.0s , <1K
公開 測資點#16 (5%): 2.0s , <1M
公開 測資點#17 (5%): 2.0s , <1M
公開 測資點#18 (5%): 2.0s , <10M
公開 測資點#19 (5%): 2.0s , <1K
提示 :

40%:N ≤ 100, |Ci| ≤ 109
40%:所有 C互不相同

20%:無特別限制

ps. 本題右側記憶體雖設定上限 6 MB
但實際上有 5.x MB 用來調用 C/C++ 基本函式庫,因此請以題目敘述為主

標籤:
空間O(1) 迴圈
出處:
115學年度 hgsh 校內賽 [管理者: mushroom.cs9 ... (mushroom) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」