QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 1024 MB 満点: 100

#10293. 怪物

統計

Penguinland 是一个无限长的数轴,上面有 $n$ 只怪物。第 $i$ 只怪物初始位于数轴上的位置 $a[i]$,生命值为 $h[i]$。保证没有两只怪物初始位置相同。

今天,企鹅 Brian 想要击败所有的怪物!为了击败它们,Brian 在某些位置埋下了 $k$ 个地雷。第 $j$ 个地雷位于位置 $x[j]$。引爆一个地雷可以瞬间摧毁该位置上的所有怪物,且每个地雷可以被引爆任意多次。然而,每次引爆需要花费 1 美元。保证没有两个地雷埋在同一个位置。

除了引爆地雷外,Brian 还可以执行以下两种操作:

  • 将一只怪物沿数轴向左或向右移动 1 个单位。
  • 将一只怪物的生命值增加或减少 1。

每执行一次操作需要花费 1 美元。

如果一只怪物的生命值降为 0,或者被地雷摧毁,则视为被击败。请帮助 Brian 计算击败所有怪物所需的最少花费(以美元为单位)。

输入格式

程序必须从标准输入读取数据。

第一行包含两个空格分隔的整数 $n$ 和 $k$。

接下来的 $n$ 行,每行包含两个空格分隔的整数。第 $i$ 行包含 $a[i]$ 和 $h[i]$。

最后一行包含 $k$ 个空格分隔的整数 $x[1], x[2], \dots, x[k]$。

输出格式

程序必须打印到标准输出。

输出一个整数,即击败所有怪物所需的最少花费(以美元为单位)。

输出应仅包含一个整数。不要打印任何额外文本,例如 Enter a numberThe answer is

子任务

对于所有测试用例,输入满足以下范围:

  • $1 \le n, k \le 200\,000$
  • $1 \le a[i], h[i] \le 10^9$,对于所有 $1 \le i \le n$
  • $1 \le x[i] \le 10^9$,对于所有 $1 \le i \le k$
  • $a[i] \neq a[j]$,对于所有 $i \neq j$
  • $x[i] \neq x[j]$,对于所有 $i \neq j$

程序将在满足以下限制的输入实例上进行测试:

子任务 分值 附加限制
0 0 样例测试用例
1 14 $k = 1$
2 6 $k = 2$
3 10 $n, k \le 18$
4 30 $n, k \le 3000$
5 29 $h[i] = 10^9$
6 11 无附加限制

样例

样例输入 1

3 1
2 2
4 5
5 4
5

样例输出 1

4

说明 1

这里有 $n = 3$ 只怪物和 $k = 1$ 个地雷。Brian 可以:

  • 将怪物 1 的生命值减少到 0,花费 2 美元。
  • 将怪物 2 向右移动 1 个单位(将其位置从 4 变为 5),花费 1 美元。
  • 引爆位置 5 的地雷,击败怪物 2 和 3,花费 1 美元。

总花费为 $2 + 1 + 1 = 4$ 美元。

样例输入 2

5 2
7 7
6 3
10 4
4 4
9 1
7 10

样例输出 2

7

说明 2

这里有 $n = 5$ 只怪物和 $k = 2$ 个地雷。Brian 可以:

  • 将怪物 5 的生命值减少到 0,花费 1 美元。
  • 引爆地雷 2,击败怪物 3,花费 1 美元。
  • 将怪物 2 向右移动 1 个单位(将其位置从 6 变为 7),花费 1 美元。
  • 将怪物 4 向右移动 3 个单位(将其位置从 4 变为 7),花费 3 美元。
  • 引爆地雷 1,击败怪物 1、2 和 4,花费 1 美元。

总花费为 $1 + 1 + 1 + 3 + 1 = 7$ 美元。

样例输入 3

10 5
19 10
5 3
1 2
3 6
17 2
20 3
8 2
12 3
14 2
15 1
40 13 37 14 6

样例输出 3

23

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.