问题 5228 --躲避火墙

5228: 躲避火墙★★★★

时间限制: 1 Sec  内存限制: 256 MB
提交: 8  解决: 5
[提交][状态][命题人:]

题目描述

小明和他的小伙伴们,正在与€€£的火系魔法师进行战斗。
魔法师会同时释放多个火墙术,小明和他的小伙伴们需要在法术生效前,躲避这些火墙。

战斗场地可以视为一个二维平面。
初始小明和他的小伙伴共有 n 人,第 i 个人在坐标为 (a[i],b[i]) 的位置上。
共有 m 个火墙,每个火墙可以视为一个每条边均与坐标轴平行或垂直的矩形,第 i 个火墙的左下角为 (0,0) 点,右上角为 (c[i],d[i]) 点。在矩形内(包括边缘的)的生物均会收到火墙术的攻击。

小明可以和他的小伙伴一起移动,每次移动可以选择向上或向右移动一个单位。即假设原先在 (x,y) 位置,一次移动后可以在 (x+1,y) 或 (x,y+1) 位置上。每次移动时,所有人均一起移动,即一起改变坐标位置。

求最少需要几次移动,才能使得所有人都离开火墙术的攻击范围。

输入

第一行输入两个整数 n,m (1≤n,m≤2000) ,表示小明和他的小伙伴的人数,和火墙个数。
接下来 n 行,每行输入两个整数 a[i],b[i] (0≤a[i],b[i]≤10^6) ,表示第 i 个角色的坐标。
接下来 m 行,每行输入两个整数 c[i],d[i] (0≤c[i],d[i]≤10^6),表示第 i 个火墙的右上角坐标。

输出

输出一个整数,表示最少移动次数。
样例输入
Copy
样例1:
1 1
0 0
2 3

样例2:
2 3
1 6
6 1
10 1
1 10
7 7

样例3:
1 2
0 0
0 0
0 0

样例4:
7 3
0 8
3 8
2 7
0 10
5 5
7 0
3 5
6 6
3 11
11 5
样例输出
Copy
样例1:
3

样例2:
4

样例3:
1

样例4:
6

提示

在第一组样例中,可以让所有人向右移动 3 次。 之后,坐标 (3,0) 中将出现一名角色。
该位置绘是安全的,因为唯一的火墙攻击不到,因为它在坐标 (2,3) 且 3 > 2 。

在第二组样例中,可以让所有人向右移动两次,向上移动两次。 之后将在坐标 (3, 8), (8, 3) 中。
易得该方案是安全的,且可以证明,不超过 3 次移动是无法达到安全位置的。

来源

[提交][状态]