#P15825. [JOI Open 2014] Fortune Telling 2

[JOI Open 2014] Fortune Telling 2

说明

K 教授是日本国际信息学奥林匹克委员会的主席。他非常喜欢占卜,经常进行各种占卜。今天,他决定用卡片进行占卜,以预测今年 IOI 日本代表队的成绩。

每张卡片的正反两面各写有一个整数,两面上的整数不一定相等。当你将一张卡片放在桌上,只能看到其中一面的数字时,另一面的数字就不可见了。

占卜过程如下:

  • 首先,K 教授将 NN 张卡片放在桌上。卡片编号为 1 到 NN。在卡片 ii 的一面写着整数 AiA_i,在另一面写着整数 BiB_i。开始时,他将卡片放在桌上,使得每张卡片 ii 都显示 AiA_i 这一面。
  • 然后,对于 j=1,,Kj = 1, \dots, K,他执行以下操作:如果某张卡片当前显示的数字小于等于 TjT_j,则将它翻面。
  • 占卜的结果是这 KK 次操作全部完成后,桌上所有卡片显示的数字之和。

后来,K 教授意识到决定哪些卡片需要翻面是一件很无聊的工作。他最终放弃了用卡片进行占卜的想法。他现在只想知道,在完成这 KK 次操作后,桌上所有卡片显示的数字之和是多少。

任务

编写一个程序,根据卡片上写的数字以及操作信息,计算所有操作完成后,桌上卡片显示的数字之和。

输入格式

从标准输入读取以下数据。

  • 第一行包含两个以空格分隔的整数 NNKK。这表示有 NN 张卡片,操作次数为 KK
  • 接下来的 NN 行中,第 ii 行(1iN1 \le i \le N)包含两个以空格分隔的整数 AiA_iBiB_i。这表示卡片 ii 上写着的两个数字是 AiA_iBiB_i
  • 接下来的 KK 行中,第 jj 行(1jK1 \le j \le K)包含一个整数 TjT_j。这表示在第 jj 次操作中,如果某张卡片当前显示的数字小于等于 TjT_j,则将它翻面。

输出格式

向标准输出写入一个整数,表示 KK 次操作全部完成后,桌上卡片显示的数字之和。

5 3
4 6
9 1
8 8
4 2
3 7
8
2
9
18

提示

样例 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=184 + 1 + 8 + 2 + 3 = 18

约束条件

所有输入数据满足以下条件。

  • 1N2000001 \le N \le 200000
  • 1K2000001 \le K \le 200000
  • 1Ai10000000001 \le A_i \le 10000000001iN1 \le i \le N)。
  • 1Bi10000000001 \le B_i \le 10000000001iN1 \le i \le N)。
  • 1Tj10000000001 \le T_j \le 10000000001jK1 \le j \le K)。

子任务

子任务 1 [4 分]

满足以下条件:

  • N1000N \le 1000
  • K1000K \le 1000

子任务 2 [31 分]

满足以下条件:

  • N40000N \le 40000
  • K40000K \le 40000

子任务 3 [65 分]

  • 无额外约束。

翻译由 DeepSeek V3.2 完成