A. The Fair Nut and Elevator

The Fair Nut lives in nn story house. aiai people live on the ii-th floor of the house. Every person uses elevator twice a day: to get from the floor where he/she lives to the ground (first) floor and to get from the first floor to the floor where he/she lives, when he/she comes back home in the evening.

It was decided that elevator, when it is not used, will stay on the xx-th floor, but xx hasn't been chosen yet. When a person needs to get from floor aa to floor bb, elevator follows the simple algorithm:

  • Moves from the xx-th floor (initially it stays on the xx-th floor) to the aa-th and takes the passenger.
  • Moves from the aa-th floor to the bb-th floor and lets out the passenger (if aa equals bb, elevator just opens and closes the doors, but stillcomes to the floor from the xx-th floor).
  • Moves from the bb-th floor back to the xx-th.

The elevator never transposes more than one person and always goes back to the floor xx before transposing a next passenger. The elevator spends one unit of electricity to move between neighboring floors. So moving from the aa-th floor to the bb-th floor requires |a−b||a−b|units of electricity.

Your task is to help Nut to find the minimum number of electricity units, that it would be enough for one day, by choosing an optimal the xx-th floor. Don't forget than elevator initially stays on the xx-th floor.

Input

The first line contains one integer nn (1≤n≤1001≤n≤100) — the number of floors.

The second line contains nn integers a1,a2,…,ana1,a2,…,an (0≤ai≤1000≤ai≤100) — the number of people on each floor.

Output

In a single line, print the answer to the problem — the minimum number of electricity units.

Examples

input

3
0 2 1

output

16

input

2
1 1

output

4

题意:

一栋居民楼有n层,每层有ai个住户,楼内有一个电梯,每天住户通过电梯上下楼,但是一楼的住户直接出门就行了,不用坐电梯。这个电梯有个初始位置x,每当有住户需要下楼时就运行至该用户所在的楼层将其传送至一楼,而当它送走一位住户下楼就会自动回到位置x,用户回家时同理。电梯移动一层楼就需要一个单位的电量,找到一个合适的位置x,求出整栋楼的住户每天上下楼所需要的最低电量。

 

思路:

拆分电梯的运行逻辑:

1.从x运动到当前住户的楼层

2.从住户所在楼层运动到1楼

3.从一楼返回初始位置x

注意1楼的用户不需要坐电梯即可。

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<cmath>
#include<set>
#include<map>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define mem(a,b) memset(a,b,sizeof(a))
#define closeio std::ios::sync_with_stdio(false)
 
int a[105];

int main()
{
	int n,i,j,s,Mix=inf;
	cin>>n;
	for(i=0;i<n;i++)
		cin>>a[i];
	for(i=0;i<n;i++)
	{
		s=0;
		for(j=1;j<n;j++)
		{
			s+=(abs(i-j)*2+j*2+i*2)*a[j];
		}
		Mix=min(Mix,s);
	}
	cout<<Mix<<endl;
	return 0;
}