CF750C New Year and Rating
题目描述
每个 Codeforces 用户都有一个整数评分,评分可以是负数或零。用户被分为两个组。第一组(division 1)是评分不低于 $1900$ 的用户。评分不高于 $1899$ 的用户属于第二组(division 2)。在每场比赛中,用户的评分会根据表现增加或减少一个整数,可能为负数或零。
Limak 在 2016 年参加了 $n$ 场比赛。他记得,在第 $i$ 场比赛时,他属于第 $d_i$ 组(即比赛前他的分组),且在这场比赛后评分变化了 $c_i$。注意,负的 $c_i$ 表示评分减少。
Limak 想知道,经历这 $n$ 场比赛后,他现在的最大可能评分是多少?如果他当前的评分可以无穷大,请输出 "Infinity"。如果没有符合条件的评分变化方案,请输出 "Impossible"。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 200000$)。
接下来的 $n$ 行中,第 $i$ 行包含两个整数 $c_i$ 和 $d_i$($-100 \leq c_i \leq 100$,$1 \leq d_i \leq 2$),分别表示 Limak 在第 $i$ 场比赛后的评分变化,以及比赛时所在的分组。
输出格式
如果 Limak 现在的评分可以无穷大,输出 "Infinity"。如果不存在符合条件的评分变化过程,输出 "Impossible"。否则,输出 Limak 经过所有比赛后可能达到的最大评分(一个整数)。
说明/提示
在第一个样例中,存在如下方案使 Limak 的最终评分最大:
- Limak 第一场以 $1901$ 分属于第 $1$ 组,比赛后减少 $7$ 分。
- 第二场以 $1894$ 分属于第 $2$ 组,比赛后增加 $5$ 分。
- Limak 以 $1899$ 分继续属于第 $2$ 组,最后一场增加 $8$ 分,最终评分 $1907$。
在第二个样例中,假设 Limak 第一场在第 $1$ 组且评分增长 $57$,但下一场在第 $2$ 组则矛盾。因此情况不可能发生。
由 ChatGPT 5 翻译