zoukankan      html  css  js  c++  java
  • 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 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

    Copy

    3
    0 2 1
    

    output

    Copy

    16

    input

    Copy

    2
    1 1
    

    output

    Copy

    4

    Note

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

    In the second example, the answer can be achieved by choosing the first floor as the xx-th floor.

    题解:暴力枚举上下楼的过程即可

    代码:

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
    	int n;
    	cin>>n;
    	int a[105];
    	for(int t=1;t<=n;t++)
    	{
    		scanf("%d",&a[t]);
    	}
    	long long int s;
    	long long int minn=0x3f3f3f;
    	for(int t=1;t<=n;t++)
    	{
    	    s=0;
    		for(int j=1;j<=n;j++)
    		{
    		s+=(abs(j-t)+abs(t-1)+abs(j-1))*2*a[j];
    		}
    		minn=min(minn,s);
    	}
    	cout<<minn<<endl;
    	return 0;
    }
  • 相关阅读:
    不会全排列算法(Javascript实现),我教你呀!
    驰骋页面,谁主沉浮-也谈清除浮动
    你不知道的parseInt
    Javascript函数重载,存在呢—还是存在呢?
    在这个看脸的世界,该如何优雅的创建JS对象
    Python 函数的使用小结
    Python 集合(set)的使用总结
    Python 文件操作
    python 中字典的操作(增、删、改、查)
    python 中list的操作(循环、切片、增、删、改、查、反转、排序)
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781957.html
Copyright © 2011-2022 走看看