一名饲养员站在一条数轴的 0 点处。数轴上有 N 只兔子,第 i 只兔子所在的位置为 P_i(保证 P_i ≠ 0)。每只兔子每分钟会啃掉 1 根胡萝卜,只要它还没有被抓住,破坏就会一直持续。
饲养员每分钟只能沿数轴移动一格,并且可以在到达某只兔子所在位置的瞬间将其抓住,抓住后该兔子便不再造成破坏。饲养员希望抓住所有兔子时,兔子啃掉的胡萝卜总数最小,请你求出这个最小值。
第一行一个整数 N,表示兔子的数量。
接下来 N 行,每行一个整数 P,表示一只兔子所在的位置。
一行一个整数,表示抓住所有兔子后,兔子啃掉胡萝卜总数的最小值。
4 -2 -12 3 7
50
7 -32 -22 -17 -48 -43 23 28
405
本题使用标准输入输出(stdin/stdout),不需要写 freopen。
样例解释 1
一种最优的抓取顺序为:先抓 −2,花费 2 个时间,这只兔子造成破坏 2;再抓 3,累计花费 7 个时间,这只兔子造成破坏 7;再抓 7,累计花费 11 个时间,这只兔子造成破坏 11;最后抓 −12,累计花费 30 个时间,这只兔子造成破坏 30。总破坏值为 2 + 7 + 11 + 30 = 50。
数据范围与约定
对于约 40% 的数据,1 ≤ N ≤ 10;
对于约 30% 的数据,1 ≤ N ≤ 200;
对于 100% 的数据,1 ≤ N ≤ 1000。
所有位置满足 −500000 ≤ P ≤ 500000 且 P ≠ 0。