U461773 SA Start

题目背景

那是一条神奇的天路 cly 与 zcy 走在退火的道路上 心怀炽与爱,追逐圣与光 他们会愈行愈远

题目描述

有一条长为 $d$ 的天路。 给定一个长度为 $n$ 的序列 $a_1$ $a_2$ $a_3$ ... $a_n$,表示路上的逐光者的坐标。 现伟大的枫原の酱邀请你给这条天路设一个坐标为 $r$ $(1 \leq r \leq d)$ 的 Radiance,这是逐光者们为之奋发笃行的信条。 逐光者 $a_k$ 需要花费 $w_k = \sqrt{\lvert r-a_k \rvert}$ 完成它,所有逐光者都会到达。 现在伟大的枫原の酱想知道 $\min\sum_{i = 1}^{n}w_i$ 是多少。

输入格式

一行两个正整数 $n,d$。 一行 $n$ 个正整数 $a_1$ $a_2$ $a_3$ ... $a_n$,表示路上的逐光者的坐标。

输出格式

一行一个浮点数表示答案,四舍五入保留2位小数。($Special Judge$自行斟酌

说明/提示

$r=3$ 时,$\sum_{i = 1}^{n}w_i$ 最小,为 $2.8284$。 #### 数据范围与提示 对于30%的数据,$1 \leq n \leq 10$。 对于60%的数据,$1 \leq n \leq 10^3$。 对于100%的数据,$1 \leq n \leq 10^5$,$1 \leq a_i \leq d \leq 10^6$。 ###### [$\tiny{题解}$](https://www.luogu.com.cn/article/086ov77a) **新增Subtask2** hack 使用Special judge控制精度。 **时限,精度已加强** (因为有人草过了这道题 答案附近1都能判对!那么水的题你真的要放过吗!做一下吧求求了 QAQ(现已加强至0.2。 现已加强至0.02 ```cpp #include "testlib.h" int main(int argc, char* argv[]) { registerTestlibCmd(argc, argv); double pans = ouf.readDouble(); double jans = ans.readDouble(); if (fabs(pans - jans)