恒温器日志

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题意:

一台加热器最初处于关闭状态。设定两个温度阈值 l<rl<r,每读取一次温度 tt,按以下规则更新状态:

  • 若 t<lt<l,变为开启状态。
  • 若 t>rt>r,变为关闭状态。
  • 若 l≤t≤rl\le t\le r,保持此前状态。

已经开启时再次要求开启,不算一次状态变化;关闭同理。

给定依次读取的 nn 个温度,输出最终状态,以及整个过程中状态改变的次数。用 00 表示关闭,11 表示开启。

输入格式:

第一行三个整数 nn、ll、rr(1≤n≤2×1051 \le n \le 2 \times 10^5,−100≤l<r≤100-100 \le l < r \le 100),分别表示温度记录数和两个温度阈值。

第二行 nn 个整数 t1,t2,…,tnt_1,t_2,\ldots,t_n(−100≤ti≤100-100 \le t_i \le 100),表示按时间顺序读取的温度。

输出格式:

一行两个整数,分别表示最终状态、状态改变次数。

样例:

样例输入:

8 18 22
20 17 18 22 23 21 18 17

样例输出:

1 3

样例解释:

读取温度 1717 时首次开启,读取 2323 时关闭,最后读取 1717 时再次开启,共改变 33 次。温度位于 [18,22][18,22] 时保持原状态。

C Programming Practice Round 3

未参加
状态
已结束
规则
XCPC
题目
18
开始于
2026-10-8 0:00
结束于
2026-10-15 0:00
持续时间
168 小时
主持人
参赛人数
45