QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 128 MB Puntuación total: 100

#15255. MP3 Player

Estadísticas

Georg 的新 MP3 播放器有许多有趣的功能,其中之一是键盘锁。在超过 $T$ 秒没有操作后,所有的按键都会被锁定。键盘锁启用后,没有任何按键会执行其原本的功能,但如果按下任意按键,键盘锁就会被解除。

例如,假设 $T = 5$ 且播放器当前处于锁定状态。Georg 按下按键 A,等待 3 秒,按下按键 B,等待 5 秒,按下 C,等待 6 秒,然后按下 D。在这种情况下,只有按键 B 和 C 执行了它们原本的功能。注意,在按下 C 和 D 之间,按键被锁定了。

MP3 播放器的音量由 +- 键控制,分别使音量增加和减少 1 个单位。音量是介于 $0$ 和 $V_{max}$ 之间的整数。在音量为 $V_{max}$ 时按下 + 键,或在音量为 $0$ 时按下 - 键,音量保持不变。

Georg 不知道 $T$ 的值。他想通过一个实验来找到它。从键盘锁定的状态开始,他按下一系列共 $N$ 个 +- 键。在实验结束时,Georg 从播放器的显示屏上读取了最终的音量。不幸的是,他忘记记录第一次按键之前的音量。为了解决这个问题,未知的初始音量记为 $V_1$,已知的最终音量记为 $V_2$。

给你 $V_2$ 的值以及 Georg 按键的顺序列表。对于每个按键,给你按键的类型(+-)以及从实验开始到按下该键的时间(秒)。任务是找到与实验结果一致的最大可能的整数 $T$。

输入格式

输入的第一行包含三个空格分隔的整数 $N$,$V_{max}$ 和 $V_2$($0 \le V_2 \le V_{max}$)。

接下来的 $N$ 行中,每行包含一个按键的描述:一个字符 +-,一个空格,以及一个整数 $C_i$($0 \le C_i \le 2 \cdot 10^9$),表示从实验开始经过的秒数。你可以认为按键是按时间顺序给出的,且所有时间都是不同的(即对于所有 $1 \le i < N$,有 $C_i < C_{i+1}$)。

数据范围

你可以认为 $2 \le N \le 100\,000$ 且 $2 \le V_{max} \le 5000$。

  • 在占 40 分的测试用例中,$N \le 4000$。
  • 在占 70 分的测试用例中,$N \cdot V_{max} \le 400\,000$。

输出格式

如果 $T$ 可以任意大,输出单行,包含单词 infinity(不带引号)。

否则,输出单行,包含两个由单个空格分隔的整数 $T$ 和 $V_1$。

这些值必须满足:在锁定时间为 $T$、初始音量为 $V_1$ 的情况下进行实验,得到的最终音量为 $V_2$。如果有多个可能的答案,输出 $T$ 最大的那个;如果仍有多个可能的答案,输出 $V_1$ 最大的那个。

(注意,至少总是存在一个解:对于 $T = 0$,没有任何按键会执行其操作,因此只需取 $V_1 = V_2$ 即可。)

样例

输入样例 1

6 4 3
- 0
+ 8
+ 9
+ 13
- 19
- 24

输出样例 1

5 4

说明 1

对于 $T = 5$,按键执行以下操作:解锁,解锁,++,解锁,-

对于任意 $V_1 \in \{2, 3, 4\}$,我们都会得到 $V_2 = 3$。注意输出中包含最大可能的 $V_1$。

对于 $T \ge 6$,最后两个按键都将是有效的,因此不可能得到 $V_2 = 3$。

输入样例 2

3 10 10
+ 1
+ 2
+ 47

输出样例 2

infinity

说明 2

如果 $V_1 = 10$,那么对于任意 $T$,我们都有 $V_2 = 10$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.