题目描述
小刚为了给农场上的草进行施肥,经常需要非常把大量的肥料拉来拉去,为了简化这个过程,他发明了一个非常棒的机器:肥料传送门!他可以使用这个传送门来瞬间将肥料从一个地方传送到另一个地方,而不需要用拖车在拖着肥料来回奔波。
小刚的农场沿着一条长直的路建造,所以任何农场上的位置都可以用它沿着这条路的位置(也就是数轴上的点)来描述。一个传送门由两个数字 x 和 y 描述,表示将肥料运到 x 位置可以瞬间传送到 y 位置,反之亦然。
现在,小刚想要将肥料从位置 a 运输到位置 b,并且他已经建造了一个传送门,可以在这个过程中帮助他(当然,如果这个传送门没有帮助,他并不需要使用传送门)。请帮助他确定他需要使用拖拉机拖运的肥料的最小总距离。
输入格式
输入只有一行,包含四个用空格隔开的整数:a 和 b 描述了起点和终点位置,接下来是 x 和 y 描述了传送门。
所有的变量都是 0 到 100 的整数,并且它们不一定互不相同。
输出格式
输出一个整数,表示小刚使用拖拉机运送肥料的最小距离。
样例 #1
样例输入 #1
3 10 8 2
样例输出 #1
3
提示
在这个例子中,最佳策略是从位置 3 拖运肥料到位置 2,然后传送到位置 8,最后拖运到位置 10。因此需要使用拖拉机的总距离为 1+2=3。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll a,b,x,y;
cin>>a>>b>>x>>y;
ll A=abs(a-b);
ll AA=abs(a-x)+abs(y-b);
ll AAA=abs(a-y)+abs(x-b);
ll e=min(A,AA);
ll ee=min(e,AAA);
cout<<ee<<endl;
return 0;
}