#P15856. [Roir2026]Two-Story Advent Calendar双层降临节日历

    ID: 15067 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>动态规划数学算法基础排序前缀和CF2200

[Roir2026]Two-Story Advent Calendar双层降临节日历

题目描述

“通用客运公司”推出了从圣彼得堡到大乌斯秋格的新年列车旅行。所有购买这趟旅行的人都会得到一个特别礼物:一个降临节日历。

这个日历的盒子做成双层列车车厢的形状。盒子内部有两层小盒子,每个小盒子中有一颗糖:

  • 上层有 nn 个小盒子;
  • 下层有 mm 个小盒子。

每个小盒子上写有一个从 11n+mn+m 的自然数,所有数字互不相同。每个小盒子的长度已知,不同盒子的长度可以不同。保证上层所有盒子的总长度等于下层所有盒子的总长度。

正确打开日历的方法是:第 11 天打开编号为 11 的盒子,第 22 天打开编号为 22 的盒子,依此类推,最后在第 n+mn+m 天打开编号为 n+mn+m 的盒子。

Maya 是一名设计师和完美主义者。她觉得,如果她要打开下层的某个盒子,而这个盒子正上方还有至少一个未打开的上层盒子,就会非常不方便。

现在 Maya 想提前从日历中移走一些盒子,使得之后按编号顺序打开剩下的盒子时,每当打开一个下层盒子时,它上方不会存在未打开的上层盒子。

盒子可以从上层或下层提前移走。请你求最少需要提前移走多少个盒子。

输入格式

第一行输入整数 nn,表示上层盒子数。

1n1051 \le n \le 10^5

接下来 nn 行,每行两个整数 ai,xia_i,x_i,表示上层第 ii 个盒子的长度和编号。

1ai109,1xin+m1 \le a_i \le 10^9,\qquad 1 \le x_i \le n+m

然后输入整数 mm,表示下层盒子数。

1m1051 \le m \le 10^5

接下来 mm 行,每行两个整数 bj,yjb_j,y_j,表示下层第 jj 个盒子的长度和编号。

1bj109,1yjn+m1 \le b_j \le 10^9,\qquad 1 \le y_j \le n+m

保证:

a1+a2++an=b1+b2++bm.a_1+a_2+\cdots+a_n=b_1+b_2+\cdots+b_m.

并且所有编号 x1,x2,,xn,y1,y2,,ymx_1,x_2,\ldots,x_n,y_1,y_2,\ldots,y_m 两两不同。

输出格式

输出一个整数,表示最少需要提前移走的盒子数量。

样例

样例 1

3
1 1
1 2
1 3
3
1 4
1 5
1 6
0

样例 2

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