#CF1612F. Armor and Weapons

Armor and Weapons

Armor and Weapons

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

Monocarp 正在玩一款电脑游戏。在这款游戏中,有 nn 套不同的护甲和 mm 种不同的武器。如果角色装备第 ii 套护甲并持有第 jj 把武器,通常情况下他的战斗力等于 i+ji + j;但某些护甲与武器的组合会产生良好的协同效果。具体来说,存在一个包含 qq 个有序对的列表,如果组合 (i,j)(i, j) 在该列表中,则角色装备第 ii 套护甲并持有第 jj 把武器时的战斗力不是 i+ji + j,而是 i+j+1i + j + 1。

最初,Monocarp 的角色只拥有第 11 套护甲和第 11 把武器。Monocarp 每花费一小时可以获得一套新的护甲或一把新的武器。如果他想获得第 kk 套护甲或第 kk 把武器,他必须拥有一套护甲和一把武器的组合,使得他的战斗力达到 kk 或更高。当然,在获得新的护甲或武器后,他可以用它们来获得新的护甲或武器,也可以继续使用之前获得的护甲或武器。

Monocarp 想要获得第 nn 套护甲和第 mm 把武器。请问他至少需要花费多少小时才能做到?

输入格式

第一行包含两个整数 nn 和 mm(2≤n,m≤2⋅1052 \le n, m \le 2 \cdot 10^5),分别表示护甲的数量和武器的数量。

第二行包含一个整数 qq(0≤q≤min⁡(2⋅105,nm)0 \le q \le \min(2 \cdot 10^5, nm)),表示具有良好协同效果的组合数量。

接下来的 qq 行,每行包含两个整数 aia_i 和 bib_i(1≤ai≤n1 \le a_i \le n,1≤bi≤m1 \le b_i \le m),表示第 aia_i 套护甲与第 bib_i 把武器协同效果良好。所有 (ai,bi)(a_i, b_i) 均互不相同。

输出格式

输出一个整数,表示 Monocarp 至少需要花费多少小时才能获得第 nn 套护甲和第 mm 把武器。

样例输入 1

3 4
0

样例输出 1

3

样例输入 2

3 4
2
1 1
1 3

样例输出 2

2

提示

在第一个样例中,Monocarp 可以按如下方式获得最强的护甲和武器:

  1. 使用第 11 套护甲和第 11 把武器获得第 22 把武器;
  2. 使用第 11 套护甲和第 22 把武器获得第 33 套护甲;
  3. 使用第 33 套护甲和第 22 把武器获得第 44 把武器。

在第二个样例中,Monocarp 可以按如下方式获得最强的护甲和武器:

  1. 使用第 11 套护甲和第 11 把武器获得第 33 套护甲(它们协同效果良好,所以战斗力不是 22,而是 33);
  2. 使用第 33 套护甲和第 11 把武器获得第 44 把武器。

数据范围

2≤n,m≤2⋅1052\le n,m\le2\cdot10^5,0≤q≤min⁡(2⋅105,nm)0\le q\le\min(2\cdot10^5,nm)。所有协同组合互不相同。

子任务编号 分值 特殊限制
1 20 n,m≤12n,m\le12
2 40 n,m≤1000n,m\le1000
3 无特殊限制