码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces 1084A The Fair Nut and Elevator 题解

时间:2018-12-30 12:55:01      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:open   lock   block   live   follow   back   mes   math   printf   

A. The Fair Nut and Elevator

time limit per test : 1 second
memory limit per test : 256 megabytes
input : standard input
output : standard output

The Fair Nut lives in ?? story house. ???? people live on the ??-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 ??-th floor, but ?? hasn‘t been chosen yet. When a person needs to get from floor ?? to floor ??, elevator follows the simple algorithm: Moves from the ??-th floor (initially it stays on the ??-th floor) to the ??-th and takes the passenger.Moves from the ??-th floor to the ??-th floor and lets out the passenger (if ?? equals ??, elevator just opens and closes the doors, but still comes to the floor from the ??-th floor).Moves from the ??-th floor back to the ??-th. The elevator never transposes more than one person and always goes back to the floor ?? before transposing a next passenger. The elevator spends one unit of electricity to move between neighboring floors. So moving from the ??-th floor to the ??-th floor requires |?????| 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 ??-th floor. Don‘t forget than elevator initially stays on the ??-th floor.

Input

The first line contains one integer ?? (1≤??≤100) — the number of floors.
The second line contains ?? integers ??1,??2,…,???? (0≤????≤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

Note

In the first example, the answer can be achieved by choosing the second floor as the ??-th floor. Each person from the second floor (there are two of them) would spend 4 units of electricity per day (2 to get down and 2 to get up), and one person from the third would spend 8 units of electricity per day (4 to get down and 4 to get up). 4?2+8?1=16
In the second example, the answer can be achieved by choosing the first floor as the ??-th floor.

思路

枚举答案,在进行验算即可。

代码

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
#define N 1001
using namespace std;
long long a[N],n,ans=0x7fffffff;
long long _abs(long long k)
{
    if(k>=0) return k;
    else return (0-k); 
}
long long f1(long long x,long long k)
{

    long long ret=_abs(x-k)+k+x-2;
    ret*=(2*a[k]);
    return ret;
}
int main()
{
    scanf("%lld",&n);
    for(long long i=1;i<=n;i++) scanf("%lld",&a[i]);
    for(long long i=1;i<=n;i++)
    {
        long long ls=0;
        for(long long j=1;j<=n;j++) ls+=f1(i,j);
        if(ls<ans) ans=ls;
    }
    printf("%lld\n",ans);
    return 0;
}

CodeForces 1084A The Fair Nut and Elevator 题解

标签:open   lock   block   live   follow   back   mes   math   printf   

原文地址:https://www.cnblogs.com/zj-mrz/p/10198977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!