TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P3693
  • 题目
  • P3693边奔跑边吃草
    限制 : 时间限制 : - MS   空间限制 : 65536 KB
    评测说明 : 时限1000ms
    问题描述

       John养了一只叫贝西的奶牛。一次他去放牛,来到一个非常长的一片地,上面有N块地方长了茂盛的草。我们可以认为草地是数轴上的一些点。贝西看到这些草非常兴奋,它想把它们全部吃光。于是它开始左右行走,吃草。John和贝西开始的时候站在p位置。贝西的移动速度是一个单位时间一个单位距离。不幸的是,草如果长时间不吃,就会腐败。我们定义一堆草的腐败值是从贝西开始吃草到吃到这堆草的总时间。贝西可不想吃太腐败的草,它请John帮它安排一个路线,使得它吃完所有的草后,总腐败值最小。John的数学很烂,他不知道该怎样做,你能帮他么?

    输入格式

    第一行有两个整数,N(N<=3000)和p,分别代表草的堆数和起始位置。

    下面有N行,每行一个整数ai,代表N堆草的位置。(1 <= ai , p <= 1000000) 

    输出格式

    一个整数,最小总腐败值。

    结果保证在2^31-1内

    样例输入

    4 10
    1
    9
    11
    19

    样例输出

    44

    提示

    样例说明

    0时刻,在位置10。 
    移动到9,1时刻到达,吃草。 
    移动到11,3时刻到达,吃草。 
    移动到19,11时刻到达,吃草。 
    移动到1,29时刻到达,吃草。 
    总腐败值1 + 3 + 11 + 29 = 44最优。 


    来源  usaco 2005 nov