小H是一位捕鱼达人,他经常驾驶船只出海捕鱼。
海上不仅有鱼,还有令人作呕的海洋垃圾。我们可以将海洋视为一个二维平面,小H的船在位置 (0, 0) 上。海上有 n 个物品,每个物品都有一个坐标和一个价值。第 i 个物品的价值可记作整数 vi,如果它是鱼,则 vi ≥ 0;如果是海洋垃圾,则 vi < 0。
小H有一张神奇的网。这个网可以视为 边界 过小船位置的一个圆。小H可以任意调整网的大小,甚至可以将其无限扩大,退化成一个半平面。现在,小H想知道他一次抛网所能获得的所有物品(包含圆边界上的物品)权值和最大是多少?
第一行一个数 整数 n(0 < n ≤ 1000) 表示物品的总个数。
第二行 n 个整数,第 i 个整数 vi( - 107 ≤ vi ≤ 107) 表示第 i 个物品的权值。
接下来 n 行,每行两个整数 x, y( - 104 ≤ x, y ≤ 104) 表示第 i 个物品的坐标(保证物品坐标两两不同且不为原点)。
输出一行一个整数,表示最大权值和。
5 -1 -3 3 5 -2 -2 2 3 -1 -3 2 -1 4 5 -3
7
3 10 -8 -8 0 10 5 5 -5 5
2
第一个样例的一种可能方案如下:
图1
| Name |
|---|


