brz的序列
题号:NC212175
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

巨佬 闲来无事,给了蒟蒻 一个长度为 n 的序列 a,并且允许蒟蒻操作这个序列,巨佬 定义,一次操作要选定一个 ,然后将序列中第 i 个数变成与它相邻的两个数的平均数,即

蒟蒻 想要将序列的总和变得最小,但是又不太会操作,也不敢在巨佬的面前吱声,于是只好偷偷向你询问:在可以进行无限次任意位置的操作的情况下,能得到的序列最小总和是多少?

输入描述:

第一行一个整数n,表示序列长度。

第二行n个整数,表示这个序列。

输出描述:

输出一个实数,表示能得到的序列最小总和,保留到小数点后十位。
示例1

输入

复制
3
1 2 2

输出

复制
4.5000000000

说明

操作一次序列的第二个数,使其变成,序列总和就是1+1.5+2=4.5,可以证明序列总和无法变得更小。