P15825 [JOI Open 2014] 占卜 2 / Fortune Telling 2
题目描述
K 教授是日本国际信息学奥林匹克委员会的主席。他非常喜欢占卜,经常进行各种占卜。今天,他决定用卡片进行占卜,以预测今年 IOI 日本代表队的成绩。
每张卡片的正反两面各写有一个整数,两面上的整数不一定相等。当你将一张卡片放在桌上,只能看到其中一面的数字时,另一面的数字就不可见了。
占卜过程如下:
- 首先,K 教授将 $N$ 张卡片放在桌上。卡片编号为 1 到 $N$。在卡片 $i$ 的一面写着整数 $A_i$,在另一面写着整数 $B_i$。开始时,他将卡片放在桌上,使得每张卡片 $i$ 都显示 $A_i$ 这一面。
- 然后,对于 $j = 1, \dots, K$,他执行以下操作:**如果某张卡片当前显示的数字小于等于 $T_j$,则将它翻面。**
- 占卜的结果是这 $K$ 次操作全部完成后,桌上所有卡片显示的数字之和。
后来,K 教授意识到决定哪些卡片需要翻面是一件很无聊的工作。他最终放弃了用卡片进行占卜的想法。他现在只想知道,在完成这 $K$ 次操作后,桌上所有卡片显示的数字之和是多少。
### 任务
编写一个程序,根据卡片上写的数字以及操作信息,计算所有操作完成后,桌上卡片显示的数字之和。
输入格式
从标准输入读取以下数据。
- 第一行包含两个以空格分隔的整数 $N$ 和 $K$。这表示有 $N$ 张卡片,操作次数为 $K$。
- 接下来的 $N$ 行中,第 $i$ 行($1 \le i \le N$)包含两个以空格分隔的整数 $A_i$ 和 $B_i$。这表示卡片 $i$ 上写着的两个数字是 $A_i$ 和 $B_i$。
- 接下来的 $K$ 行中,第 $j$ 行($1 \le j \le K$)包含一个整数 $T_j$。这表示在第 $j$ 次操作中,如果某张卡片当前显示的数字小于等于 $T_j$,则将它翻面。
输出格式
向标准输出写入一个整数,表示 $K$ 次操作全部完成后,桌上卡片显示的数字之和。
说明/提示
### 样例 1 解释
最初,五张卡片上显示的数字分别为 4、9、8、4、3。操作过程如下:
- 如果某张卡片显示的数字小于等于 8,则将其翻面。操作后,卡片上显示的数字分别为 6、9、8、2、7。
- 如果某张卡片显示的数字小于等于 2,则将其翻面。操作后,卡片上显示的数字分别为 6、9、8、4、7。
- 如果某张卡片显示的数字小于等于 9,则将其翻面。操作后,卡片上显示的数字分别为 4、1、8、2、3。
所有操作结束后,桌上卡片显示数字之和为 $4 + 1 + 8 + 2 + 3 = 18$。
### 约束条件
所有输入数据满足以下条件。
- $1 \le N \le 200000$。
- $1 \le K \le 200000$。
- $1 \le A_i \le 1000000000$($1 \le i \le N$)。
- $1 \le B_i \le 1000000000$($1 \le i \le N$)。
- $1 \le T_j \le 1000000000$($1 \le j \le K$)。
### 子任务
#### 子任务 1 [4 分]
满足以下条件:
- $N \le 1000$。
- $K \le 1000$。
#### 子任务 2 [31 分]
满足以下条件:
- $N \le 40000$。
- $K \le 40000$。
#### 子任务 3 [65 分]
- 无额外约束。
翻译由 DeepSeek V3.2 完成