#P4264. [USACO18FEB] Teleportation S
[USACO18FEB] Teleportation S
题目描述
One of the farming chores Farmer John dislikes the most is hauling around lots of cow manure. In order to streamline this process, he comes up with a brilliant invention: the manure teleporter! Instead of hauling manure between two points in a cart behind his tractor, he can use the manure teleporter to instantly transport manure from one location to another. Farmer John's farm is built along a single long straight road, so any location on his farm can be described simply using its position along this road (effectively a point on the number line). A teleporter is described by two numbers and , where manure brought to location can be instantly transported to location .
Farmer John decides to build a teleporter with the first endpoint located at ; your task is to help him determine the best choice for the other endpoint . In particular, there are piles of manure on his farm (). The th pile needs to moved from position to position , and Farmer John transports each pile separately from the others. If we let denote the amount of distance FJ drives with manure in his tractor hauling the th pile, then it is possible that if he hauls the th pile directly with the tractor, or that could potentially be less if he uses the teleporter (e.g., by hauling with his tractor from to , then from to ).
Please help FJ determine the minimum possible sum of the 's he can achieve by building the other endpoint of the teleporter in a carefully-chosen optimal position. The same position is used during transport of every pile.
输入格式
The first line of input contains . In the lines that follow, the th line contains and , each an integer in the range . These values are not necessarily all distinct.
输出格式
Print a single number giving the minimum sum of 's FJ can achieve. Note that this number might be too large to fit into a standard 32-bit integer, so you may need to use large integer data types like a "long long" in C/C++. Also you may want to consider whether the answer is necessarily an integer or not...
题目大意
Farmer John最讨厌的农活是运输牛粪。为了精简这个过程,他制造了一个伟大的发明:便便传送门!与使用拖拉机拖着装满牛粪的大车从一个地点到另一个地点相比,他可以使用便便传送门将牛粪从一个地点瞬间传送到另一个地点。 Farmer John的农场沿着一条长直道路而建,所以他农场上的每个地点都可以简单地用该地点在道路上的位置来表示(相当于数轴上的一个点)。一个传送门可以用两个数和表示,被拖到地点的牛粪可以瞬间传送到地点。
Farmer John决定建造一个起点位于的传送门;你的任务是帮助他确定最佳的终点。具体地说,在他的农场上有堆牛粪()。第堆牛粪需要被从位置移动到位置,Farmer John会分别运输每一堆牛粪。我们设为FJ使用拖拉机运输第堆牛粪的距离,则当他直接使用拖拉机运输第堆牛粪时,有,或者可能在他使用传送门的情况下可以变得更小(比方说,用他的拖拉机从运到,再从运到)。
请帮助FJ求出,在他恰当选择传送门的终点的情况下,能够达到的所有的和的最小值。在所有牛粪的运输中,终点位置是相同的。
输入格式(文件名:teleport.in): 输入的第一行包含。在下面的行中,第行包含和,每个整数都在之间。这些数值不一定各不相同。 输出格式(文件名:teleport.out): 输出一个数,为能够达到的的和的最小值。注意这个数字可能超过标准的32位整数型能够表示的范围,所以你可能需要使用更大的数据类型,例如C/C++中的“long long”。同样你可能需要考虑答案是否一定是一个整数……
3
-5 -7
-3 10
-2 7
10
提示
In this example, by setting FJ can achieve , , and . Note that any value of in the range would also yield an optimal solution.
Problem credits: Brian Dean