There are three friend living on the straight line Ox in Lineland. The first friend lives at the point x1, the second friend lives at the point x2, and the third friend lives at the point x3. They plan to celebrate the New Year together, so they need to meet at one point. What is the minimum total distance they have to travel in order to meet at some point and celebrate the New Year?
It's guaranteed that the optimal answer is always integer.
The first line of the input contains three distinct integers x1, x2 and x3 (1 ≤ x1, x2, x3 ≤ 100) — the coordinates of the houses of the first, the second and the third friends respectively.
Print one integer — the minimum total distance the friends need to travel in order to meet together.
7 1 4
6
30 20 10
20
In the first sample, friends should meet at the point 4. Thus, the first friend has to travel the distance of 3 (from the point 7 to the point 4), the second friend also has to travel the distance of 3 (from the point 1 to the point 4), while the third friend should not go anywhere because he lives at the point 4.
题目链接:http://codeforces.com/problemset/problem/723/A
题目大意:三个人想在某个地点相遇,给出三个人在数轴上的坐标,求要走的最小值
解析:先排下序,然后另外两个人到中间人的位置为最小值(水题,自己证明),也可以最大的减最小的
代码如下:
1 #include <bits/stdc++.h>
2 using namespace std;
3 int main() 4 { 5 int a,b,c,d,s; 6 while(scanf("%d%d%d",&a,&b,&c)!=EOF) 7 { 8 if(a>=b&&b>=c)d=b; 9 else if(b>=a&&a>=c)d=a; 10 else if(a>=c&&c>=b)d=c; 11 else if(b>=c&&c>=a)d=c; 12 else if(c>=a&&a>=b)d=a; 13 else if(c>=b&&b>=a)d=b; 14 s=fabs(d-a)+fabs(d-b)+fabs(d-c); 15 printf("%d\n",s); 16 } 17 return 0; 18 }