题库练习 [CSP-S 2021] 廊桥分配
← 上一题 下一题 →

A4944 | [CSP-S 2021] 廊桥分配

来源CSP-S / 2021
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

当一架飞机抵达机场时,可以停靠在航站楼旁的廊桥,也可以停靠在位于机场边缘的远机位。乘客一般更期待停靠在廊桥,因为这样省去了坐摆渡车前往航站楼的周折。然而,因为廊桥的数量有限,所以这样的愿望不总是能实现。

机场分为国内区和国际区,国内航班飞机只能停靠在国内区,国际航班飞机只能停靠在国际区。一部分廊桥属于国内区,其余的廊桥属于国际区。

L 市新建了一座机场,一共有 $n$ 个廊桥。该机场决定,廊桥的使用遵循“先到先得”的原则,即每架飞机抵达后,如果相应的区(国内/国际)还有空闲的廊桥,就停靠在廊桥,否则停靠在远机位(假设远机位的数量充足)。该机场只有一条跑道,因此不存在两架飞机同时抵达的情况。

现给定未来一段时间飞机的抵达、离开时刻,请你负责将 $n$ 个廊桥分配给国内区和国际区,使停靠廊桥的飞机数量最多。

输入格式

输入的第一行,包含三个正整数 $n, m_1, m_2$,分别表示廊桥的个数、国内航班飞机的数量、国际航班飞机的数量。

接下来 $m_1$ 行,是国内航班的信息,第 $i$ 行包含两个正整数 $a_{1, i}, b_{1, i}$,分别表示一架国内航班飞机的抵达、离开时刻。

接下来 $m_2$ 行,是国际航班的信息,第 $i$ 行包含两个正整数 $a_{2, i}, b_{2, i}$,分别表示一架国际航班飞机的抵达、离开时刻。

每行的多个整数由空格分隔。

**【数据范围】**

对于 $20 \%$ 的数据,$n \le 100$,$m_1 + m_2 \le 100$。
对于 $40 \%$ 的数据,$n \le 5000$,$m_1 + m_2 \le 5000$。
对于 $100 \%$ 的数据,$1 \le n \le {10}^5$,$m_1, m_2 \ge 1$,$m_1 + m_2 \le {10}^5$,所有 $a_{1, i}, b_{1, i}, a_{2, i}, b_{2, i}$ 为数值不超过 ${10}^8$ 的互不相同的正整数,且保证对于每个 $i \in [1, m_1]$,都有 $a_{1, i} < b_{1, i}$,以及对于每个 $i \in [1, m_2]$,都有 $a_{2, i} < b_{2, i}$。

输出格式

输出一个正整数,表示能够停靠廊桥的飞机数量的最大值。

输入输出样例

输入 #1
3 5 4
1 5
3 8
6 10
9 14
13 18
2 11
4 15
7 17
12 16
输出 #1
7
输入 #2
2 4 6
20 30
40 50
21 22
41 42
1 19
2 18
3 4
5 6
7 8
9 10
输出 #2
4
C++ 编辑器
输入
输出