CF785B.Anton and Classes

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Anton and Classes

题目描述

Anton很喜欢下棋,同时又很喜欢编程。难怪,他会想去参加棋艺班和编程班!

一共有n个棋艺班,m个编程班。第i个棋艺班的时间用(l1,i,r1,i)(l_{1,i},r_{1,i})表示,第i个编程班的时间用(l2,i,r2,i)(l_{2,i},r_{2,i})表示。

Anton需要在全部的棋艺班和编程班中间恰好各选一个。他想要在两个班之间有休息的时间,所以对于所有可能的选择,他希望两个时间段的距离(即他的休息时间)最大。

两个时间段(l1,r1)(l_1,r_1)(l2,r2)(l_2,r_2)的距离是这样定义的:对于l1ir1l_1\le i\le r_1l2jr2l_2\le j\le r_2,距离就是ij|i-j|的最小值。如果两个时间段相交,那么他们的距离当然就是00

Anton很想知道,他的休息时间最大是多少。帮帮他解决这个问题吧!

输入格式

第一行一个整数n。

第2~n+1行,每行两个数l1,il_{1,i}r1,ir_{1,i}

第n+2行一个整数m。

接下来mmm行,每行两个数l2,il_{2,i}r2,ir_{2,i}

保证1<=n,m<=2000001<=n,m<=200000。对于输入中的所有xx,保证1<=x<=1091<=x<=10^9

输出格式

一个整数,表示Anton的最大休息时间。

样例

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

在线编程 IDE

建议全屏模式获得最佳体验