#arc049b. [arc049_b]高橋ノルム君

[arc049_b]高橋ノルム君

问题描述

高桥诺尔姆君有着无限的可能性。在这个世界上有许多叫做高桥诺尔姆的人。

在二维平面上有N个高桥诺尔姆君。第i(1≦i≦N)个高桥诺尔姆君位于坐标(x_i, y_i)处。每个高桥诺尔姆君都被分配了一个正整数常数c_i,第i个高桥诺尔姆君建立到点(X,Y)的距离需要c_i*max(|x_i-X|, |y_i-Y|)的时间。

你的任务是计算所有高桥诺尔姆君聚集到一点所需的最短时间。其中,将最后到达该点的高桥君的移动时间定义为到达该点所需的最短时间。

高桥诺尔君们同时开始移动,并且彼此之间没有干扰。


输入

输入从标准输入中按以下格式给出。

NN x1x_1 y1y_1 c1c_1 x2x_2 y2y_2 c2c_2 : xNx_N yNy_N cNc_N

  • 第1行包含一个整数N(2≦N≦1,000),表示高桥诺尔姆君的数量。
  • 接下来N行,第i(1≦i≦N)行包含三个整数xi,yi,ci(105xi,yi105,1ci1,000)x_i,y_i,c_i (-10^5≦x_i,y_i≦10^5,1≦c_i≦1,000),表示第i个高桥君在二维平面上的位置和常数。
  • 可能会有多个高桥诺尔姆君位于同一坐标。

部分点

本问题设有部分点。

  • 对于任意的i(1≦i≦N),如果满足ci=1c_i=1的数据集都能得到正确答案,则获得30分。
  • 对于没有附加限制的数据集都能得到正确答案,则额外获得70分。

输出

输出所有高桥诺尔姆君聚集到一点所需的最短时间。允许绝对误差或相对误差不超过10410^{-4}。输出末尾要换行。


示例 1

2
0 0 1
10 10 1

输出 1

5.000000000000000

将集合位置设置为(5,5)(5,5),两个人都可以在5秒钟内到达该点,这是最小的时间。


示例 2

2
0 0 1
10 10 2

输出 2

6.666666666666667

示例 3

10
-27 -67 10
59 13 10
14 -15 9
-29 -84 7
-75 -2 2
-12 -74 5
77 31 9
40 64 8
-81 32 1
81 26 5

输出 3

582.222222222222222

示例 4

8
-81739 73917 446
42230 30484 911
79354 -50126 200
33440 -47087 651
-73 84114 905
79222 -53608 713
65194 -46284 685
81145 40933 47

输出 4

54924095.383189122374461