一个机器人在一个无限大小的 XY 网格平面上行走,从点 (0, 0) 处开始出发,面向北方。该机器人可以接收以下三种类型的命令 commands:
-2
:向左转 90
度
-1
:向右转 90
度
{1 \leq x \leq 9 }:向前移动 x
个单位长度
在网格上有 n 个格子被视为障碍物 。第 i 个障碍物位于网格点 (x_i, y_i)。
机器人无法走到障碍物上,它将会停留在障碍物的前一个网格方块上,但仍然可以继续尝试进行该路线的其余部分。
输出从原点到机器人所有经过的路径点(坐标为整数)的最大欧式距离的平方。(即,如果距离为 5,则返回 25)
例如: 距离原点最远的是 (3, 4) ,最大欧式距离平方为 {3^2 + 4^2 = 25}
注意:
北表示 +Y 方向。
东表示 +X 方向。
南表示 -Y 方向。
西表示 -X 方向。
第一行包含两个整数 n,m,n 表示障碍物的个数, m 表示指令的长度。
接下来 n 行,每行包含两个整数 x_i 和 y_i,表示一个障碍物的坐标。
最后一行包含一个整数数组 commands,表示机器人的行动指令。
一个整数,表示从原点到机器人所有经过的路径点(坐标为整数)的最大欧式距离的平方。
1 5 2 4 4 -1 4 -2 4
65
0 3 4 -1 3
25
【样例1解释说明】
机器人开始位于 (0, 0):
【数据范围】
0 \leq n \leq 10^4
1 \leq m \leq 10^4
-3 * 10^4 \leq x_i, y_i \leq 3 * 10^4
答案保证小于 {2^{31}}