CF1612F Armor and Weapons
题目描述
Monocarp 正在玩一款电脑游戏。在这款游戏中,有 $n$ 套不同的护甲和 $m$ 种不同的武器。如果角色装备第 $i$ 套护甲并持有第 $j$ 把武器,通常情况下他的战斗力等于 $i + j$;但某些护甲与武器的组合会产生良好的协同效果。具体来说,存在一个包含 $q$ 个有序对的列表,如果组合 $(i, j)$ 在该列表中,则角色装备第 $i$ 套护甲并持有第 $j$ 把武器时的战斗力不是 $i + j$,而是 $i + j + 1$。
最初,Monocarp 的角色只拥有第 $1$ 套护甲和第 $1$ 把武器。Monocarp 每花费一小时可以获得一套新的护甲或一把新的武器。如果他想获得第 $k$ 套护甲或第 $k$ 把武器,他必须拥有一套护甲和一把武器的组合,使得他的战斗力达到 $k$ 或更高。当然,在获得新的护甲或武器后,他可以用它们来获得新的护甲或武器,也可以继续使用之前获得的护甲或武器。
Monocarp 想要获得第 $n$ 套护甲和第 $m$ 把武器。请问他至少需要花费多少小时才能做到?
输入格式
第一行包含两个整数 $n$ 和 $m$($2 \le n, m \le 2 \cdot 10^5$),分别表示护甲的数量和武器的数量。
第二行包含一个整数 $q$($0 \le q \le \min(2 \cdot 10^5, nm)$),表示具有良好协同效果的组合数量。
接下来的 $q$ 行,每行包含两个整数 $a_i$ 和 $b_i$($1 \le a_i \le n$,$1 \le b_i \le m$),表示第 $a_i$ 套护甲与第 $b_i$ 把武器协同效果良好。所有 $(a_i, b_i)$ 均互不相同。
输出格式
输出一个整数,表示 Monocarp 至少需要花费多少小时才能获得第 $n$ 套护甲和第 $m$ 把武器。
说明/提示
在第一个样例中,Monocarp 可以按如下方式获得最强的护甲和武器:
1. 使用第 $1$ 套护甲和第 $1$ 把武器获得第 $2$ 把武器;
2. 使用第 $1$ 套护甲和第 $2$ 把武器获得第 $3$ 套护甲;
3. 使用第 $3$ 套护甲和第 $2$ 把武器获得第 $4$ 把武器。
在第二个样例中,Monocarp 可以按如下方式获得最强的护甲和武器:
1. 使用第 $1$ 套护甲和第 $1$ 把武器获得第 $3$ 套护甲(它们协同效果良好,所以战斗力不是 $2$,而是 $3$);
2. 使用第 $3$ 套护甲和第 $1$ 把武器获得第 $4$ 把武器。
由 ChatGPT 4.1 翻译