AT_past202107_h.折れ線グラフ

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥的老师给高桥留了课后画折线统计图的作业。画法如下:

  1. 给定一个长为 nn 的数列 a1,a2,...,ana_1,a_2,...,a_n,其中 a1=an=0a_1=a_n=0。
  2. 对于任意一个 i=1,2,...,ni=1,2,...,n,在二维平面坐标系中画出点 Pi(i,ai)P_i(i,a_i)。
  3. 对于任意一个 i=1,2,...,n−1i=1,2,...,n-1,画一条连接点 PiP_i 和点 Pi+1P_{i+1} 的线段。

想要快点完成作业的高桥计划偷偷修改 aa 数列使得所画的线段长度和最短。但他修改时仍需遵循以下原则:(记修改后的数列为 bb)

  • bb 数列完全由非负整数构成;
  • b1=bn=0b_1=b_n=0;
  • ∑i=1nai=∑i=1nbi\displaystyle\sum_{i=1}^{n}a_i=\displaystyle\sum_{i=1}^{n}b_i。

请你输出,他修改完数列之后,画的线段总长度的最小值。

输入格式

第一行为一个整数 nn。

第二行为 nn 个整数,表示数列 aa。

输出格式

一行一个实数,答案。

请保证你的答案与标答的差的绝对值不超过 10−510^{-5}。

输入输出样例

  • 输入#1

    4
    0 3 0 0

    输出#1

    5.0644951022459797
  • 输入#2

    7
    0 1 2 3 4 5 0

    输出#2

    10.3245553203367599

说明/提示

样例 #1 解释

bb 数列可为 0,1,2,0{0,1,2,0}。

数据规模与约定

对于全部测试点,数据保证:

  • 2≤n≤1002\le n\le 100;
  • 0≤ai≤1000\le a_i\le 100;
  • a1=an=0a_1=a_n=0;
  • ∑i=1nai≤100\displaystyle\sum_{i=1}^{n}a_i\le 100。

输入解题思路,AI测评打分。不知道怎么写?

首页