TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P3569
  • 题目
  • P3569葡萄酒交易
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    一条笔直公路上分布着n(2<=n<=300000)个村庄,从左往右编号1到n,每个村庄要么需要酒,要么需要酒。

    设第i个村庄对葡萄酒的需求为Ai(-1000<=Ai<=1000),其中Ai>0表示该村需要买酒,Ai<0表示该村需要卖酒。所有村庄供需平衡,即所有Ai之和等于0

    把k升葡萄酒从一个村庄运到相邻村庄需要k块钱的运费,请你计算最少需要多少运费就可以满足所有村庄对酒的需求。结果保证在64位整数范围以内。

    输入格式

    第一行,一个整数n,表示村庄的数量
    第二行,n个空格间隔的整数,依次表示1到n号村庄对酒的需求

    输出格式

    一行,一个整数,表示最小的费用

    样例输入

    样例输入1:
    5
    5 -4 1 -3 1

    样例输入2:
    6
    -1000 -1000 -1000 1000 1000 1000

    样例输出

    样例输出1:
    9

    样例输出2:
    9000

    提示

    样例1说明:
    从2号村庄将4升酒运往村庄1,花费4
    从4号村庄将1升酒运往村庄3,花费1
    从4号村庄将1升酒运往村庄1,花费3
    从4号村庄将1升酒运往村庄5,花费1
    总花费为9


    来源  改编自uva11054