https://codeforces.com/problemset/problem/750/C
题目大意
Limak 一共参加了n 场
codeforces
比赛,按时间给出参赛记录,每条记录包括ci ,di 。ci 表示在第 i 场rating的变化,di 有两个可能值:
1
表示rating≥1900 ;2
表示rating<1900 。问n 场之后rating的最大值为多少?
1. 贪心思路
拿第一个样例,假设一开始分数为0,分数线为x(即当分数线为1900时原始分数为1900-x),则0>=x,-7<x, -2<x,显然为了达到要求,问题为求x的最小值(因为分数线越低说明原始分数越高)。那问题就很简单了:对于所有d=1的情况比较得出x的上界,对于所有d=2的情况比较得出x的下界。若上界<=下界则该区间不存在输出“Impossible”,若无下界(说明原始分数无上界)则输出“Infinity”,否则x取下界值。最后将分数线移回1900即可。
代码: