狗场损失
时间限制:1秒 内存限制:256M
【题目描述】
小H的狗场围墙上出现了一个洞,有 \(N(1≤N≤1000)\) 只狗从这个洞逃了出去。这些出逃的奶狗很狂躁,他们在外面到处搞破坏,每分钟每只狗都会给小H带来1块钱的损失。小H必须尽快用缰绳套住所有的狗,以停止他们搞破坏。
幸运的是,奶狗们都在狗场外一条笔直的公路上,狗场的大门恰好位于公里的0点处。小H知道每只狗距离狗场大门的距离\(x^i(-5*10^5≤x_i≤5*10^5,x_i≠0)\)。
小H从狗场大门出发,每分钟移动一个单位距离,每到一只狗所在的地点,小H就会给它套上缰绳,套缰绳不花时间。按怎样的顺序去给狗套缰绳才能使小H损失的费用最少?
【输入格式】
第一行包含一个整数:\(N\),表示狗的数目。接下来 \(N\) 行,每行一个整数,分别表示 \(x_1,x_2,…,x_N\)。
【输出格式】
一个正整数,表示小H最小的损失。
【输入输出样例】
Input
4
-2
-12
3
7
Output
50
【样例解释】
四只奶狗所在坐标分别为-2,-12,3,7。最优的套狗顺序为 -2, 3, 7, -12。
小H 在第2分钟到达了位置-2,在这个位置的奶狗造成2块钱的损失。
然后他花5分钟去了位置3,这只狗总共造成了2+5=7 块钱的损失。
他又花了4分钟到达了7,这里造成了 7+4=11 块钱的损失。
最后他用19分钟到达了位置-12,损失了 11+19=30 块钱。
总的损失为: 2+7+11+30=50 块钱。
【数据限制】
- 对于 \(30\%\) 的数据,有 \(N≤10\);
- 对于 \(70\%\) 的数据,有 \(N≤100\);
- 对于 \(100\%\) 的数据,有 \(1≤N≤1000\)。
【来源】
Mr.he