测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2209. 奔跑奶牛

编程题 普及+/提高
知识点

题目描述

农夫约翰的牧场围栏上出现了一个洞,有 $N$($1\le N\le 1000$)只牛从这个洞逃出了牧场。这些出逃的奶牛很狂躁,他们在外面到处搞破坏,每分钟每头牛都会给约翰带来 $1$ 美元的损失。约翰必须用缰绳套住所有的牛,以停止他们搞破坏。

幸运的是,奶牛们都在牧场外一条笔直的公路上,牧场的大门恰好位于公里的 $0$ 点处。约翰知道每头牛距离牧场大门的距离 $P_i$($-5\times10^5\le P_i\le5\times 10^5$,$P_i\ne0$)。

约翰从农场大门出发,每分钟移动一个单位距离,每到一头牛所在的地点,约翰就会给它套上缰绳,套缰绳不花时间。按怎样的顺序去给牛套缰绳才能使约翰损失的费用最少?

输入格式

* 第 1 行:奶牛数量,N。

* 第 2..N+1 行:第 i+1 行包含整数P_i。

输出格式

* 第 1 行:损坏的最低总成本。

输入输出样例

输入 #1
4 
-2 
-12 
3 
7 
输出 #1
50 

说明/提示

四头奶牛被放置在位置:-2、-12、3 和 7。

最佳访问顺序为 -2、3、7、-12。FJ 在 2 分钟内到达位置 -2,对那头奶牛造成总共 2 美元的伤害。

然后他移动到位置 3(距离:5),该位置的累积伤害为 2 + 5 = 7 美元。

他又花了 4 分钟到达 7,那头牛的成本是 7 + 4 = 11 美元。

最后,他花了 19 分钟去 -12,成本为 11 + 19 = 30 美元。

总伤害为 2 + 7 + 11 + 30 = 50 美元。
上一题 去做题 下一题