#ZT1003. PvZ 竞赛版
PvZ 竞赛版
pvz.in/out
题目描述
小k自学编程开发了一款BT版植物大战僵尸的游戏,里面有一个植物叫做超级无敌🌽加农炮,加农炮可以秒杀攻击范围内的僵尸,当攻击范围为0时,则能杀死与他同一位置的僵尸。这个植物虽然很厉害,但也存在缺陷,一个超级无敌🌽加农炮种下去的时候可以设置击杀半径,设置好就不能变了,而击杀僵尸需要消耗阳光,消耗的阳光为设置好的击杀半径的平方和。由于作者丧心病狂的设置了大量僵尸,而阳光是有限的,🌽加农炮也只能种两棵,请你计算拦截所有僵尸最小需要的阳光量。
输入格式
第一行包含 个整数、、、,每两个整数之间用一个空格隔开,表示这两棵玉米加农炮的坐标分别为、。 第二行包含 个整数,表示有 个僵尸。接下来行,每行两个整数 ,中间用 一个空格隔开,表示一只僵尸的坐标。不同僵尸的坐标可能相同。
输出格式
一个整数,即击杀所有僵尸的最少阳光量。
样例 #1
样例输入 #1
0 0 10 0
2
-3 3
10 0
样例输出 #1
18
样例 #2
样例输入 #2
0 0 6 0
5
-4 -2
-2 3
4 0
6 -2
9 1
样例输出 #2
30
提示
两个点、之间距离的平方是。
两棵加农炮的工作半径的平方和,是指 分别取平方后再求和,即 。
【样例 说明】
样例中要击杀所有僵尸,在满足最小使用阳光的前提下,工作半径的平方分别为和。
【样例 说明】
样例中的加农炮与玉米所在的位置如下图所示。要击杀所有僵尸,在满足最小使用阳光的前提下,两个加农炮工作半径的平方分别为 和。

【数据范围】
对于的数据,
对于的数据,
对于的数据,
对于的数据,
对于的数据,,且所有坐标分量的绝对值都不超过。