HRBUST - 2271

从前有一个人种了 n 颗苹果树,每个苹果树的位置分别是a i ,这个人站在原点,如果
想要取到所有的苹果,这个人能走的最短的路程是多少。 Input输入数据有多组。
每组数据的第一行有一个整数n(0 ≤ n ≤ 10000)。
第二行包括 n 个 整数a i (−10000 ≤ a i ≤ 10000),代表每个苹果树的位置。 Output每组数据输出一个数字,代表这个人能取得所有的苹果所需要走的最短距离。 Sample Input2
-1 1 Sample Output

3

//
// Created by liyuanshuo on 2017/2/26.
//

#include 
#include 

using namespace std;
int a[10010];
int main4()
{
    int n;
    while ( cin>>n )
    {
        if ( n == 0 )
        {
            cout<<"0"<>a[i];
        }
        sort(a, a+n);
        int ans = 0;
        if ( a[0] > 0 )
        {
            ans = a[n-1];
        } else
        {
            a[0] = -1 * a[0];
            if (a[0] <= a[n - 1])
            {
                ans = a[0] * 2 + a[n-1];
            }
            else
            {
                ans += a[n-1]*2 + a[0];
            }
        }
        cout<


你可能感兴趣的:(水题,算法)