#L0286. 计算比赛罚时

计算比赛罚时

题目描述

在一场编程竞赛中,有若干道题目,每支队伍可以对每道题多次提交。对于某道题,一支队伍的有效提交指的是在该次提交之前尚未通过该题、且该题最终被该队伍通过的提交记录。\n\n显然,一道题的所有有效提交中,恰好最后一次是通过,其余均为未通过。\n\n一道题的罚时定义为:该题第一次通过的时间(分钟)加上 2020 乘以该题未通过的有效提交次数。\n\n例如,某队对一道题共提交了 44 次有效提交,前三次未通过,第四次在第 9191 分钟通过,则该题的罚时为 91+3×20=15191 + 3 \times 20 = 151。\n\n一场比赛的总罚时是所有已通过题目的罚时之和。\n\n例如,某队通过了两道题,罚时分别为 1511513535,则总罚时为 151+35=186151 + 35 = 186。\n\n现在给定一支队伍的所有有效提交记录,每条记录为 (ai,bi)(a_i, b_i),其中 aia_i 是提交时间,bi=0b_i = 0 表示未通过,bi=1b_i = 1 表示通过。求该队本场比赛的总罚时。\n\n注意:虽然罚时是按每道题分别定义的,但在计算总罚时时,并不需要知道每条记录对应哪道题。

输入格式

第一行一个整数 nn,表示有效提交记录的条数。\n接下来 nn 行,每行两个整数 ai,bia_i, b_i,表示一条提交记录。

输出格式

输出一行一个整数,表示总罚时。

样例

5
1 0
2 0
3 0
35 1
91 1
186
10
2 1
35 1
40 1
47 1
54 1
63 0
70 1
75 0
93 1
97 1
478

提示

数据规模与约定\n\n| 测试点编号 | nn | 特殊约定 |\n| :-: | :-: | :-: |\n| 11 | =1=1 | bi=1b_i = 1 |\n| 2,3,42,3,4 | 100\leq 100 | bi=1b_i = 1 |\n| 5,6,75,6,7 | 100\leq 100 | 仅有一条记录的 bib_i11 |\n| 8,9,108,9,10 | 105\leq 10^5 | 无 |\n\n对全部的测试数据,保证 1n1051 \leq n \leq 10^51ai1071 \leq a_i \leq 10^70bi10 \leq b_i \leq 1,最晚的一条提交记录一定是通过(如果有多条在同一时间是最晚的,保证其中存在一条是通过)。

难度 入门
通过率
尝试 0
已通过 0
ID
1014
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者