AT_tenka1_2015_qualA_b stepモード
题目描述
安藤君执行了 $N$ 个脚本,并记录了每个脚本的开始执行时间和结束执行时间。
然而这一天,安藤君的时钟曾经发生过一次回拨 $1000$ 毫秒的事件。
也就是说,脚本的实际执行时间可能已经无法确定。
现在给出每个脚本的开始时间和结束时间列表,请计算每个脚本的执行时间,并以毫秒为单位输出。
请注意以下几点:
- 对于执行时间无法唯一确定的脚本,请输出 $-1$。
- 每个脚本的执行时间均不少于 $1$ 毫秒。
- 回拨是瞬时发生的,回拨本身不消耗任何时间,即回拨耗时为 $0$ 毫秒。
- 关于开始时间和结束时间,不会发生四舍五入,且它们的毫秒以下位数均为 $0$。也就是说,用毫秒表示的开始时间和结束时间 $t$ 均为整数。
- 回拨发生的时刻的毫秒以下位数不是 $0$。也就是说,用毫秒表示的回拨时刻 $r$ 不是整数。因此,回拨发生的时刻不会与任何开始时间或结束时间重合。
- 没有夏令时。
输入格式
输入通过标准输入给出,格式如下:
> $N$
> $S_1$ $E_1$
> $\vdots$
> $S_N$ $E_N$
- 第一行给出脚本的数量 $N$,满足 $1 \leq N \leq 100$。
- 接下来的 $N$ 行,每行给出一个脚本的开始时间 $S_i$ 和结束时间 $E_i$,以空格分隔。
- $S_i$、$E_i$ 的格式为 `HH:MM:SS.mmm`,其中 `H`、`M`、`S`、`m` 均为数字字符。
并且 $21 \leq \text{HH} \leq 22$,$00 \leq \text{MM} \leq 59$,$00 \leq \text{SS} \leq 59$,$000 \leq \text{mmm} \leq 999$。
- 输入保证不会出现回拨发生两次及以上的情况。
输出格式
请按顺序输出每个脚本的执行时间(以毫秒为单位),共 $N$ 行。
对于执行时间无法唯一确定的脚本,请输出 $-1$。
输出末尾需换行。
说明/提示
### 配分
本题没有部分分。所有测试点全部通过时可获得 $50$ 分。
### 样例解释 1
脚本的结束时间早于开始时间,因此可以确定回拨发生在脚本执行期间。
### 样例解释 2
无法确定脚本执行期间是否发生了回拨。如果发生了,则执行时间为 $4000$ 毫秒;如果没有发生,则为 $3000$ 毫秒。
### 样例解释 3
从第 $2$ 个脚本可以推断,回拨发生在原时间轴的 `21:00:01.500` 之后且 `21:00:02.000` 之前。

### 样例解释 4
与样例 3 类似,从第 $2$ 个脚本可以推断,回拨发生在原时间轴的 `21:00:01.500` 之后且 `21:00:02.000` 之前。
但无法判断第 $3$ 个脚本的结束时间是在回拨前的时间轴还是回拨后的时间轴上。
由 ChatGPT 4.1 翻译