Processing math: 100%
(Analysis by Brian Dean)

This problem is relatively straightforward -- we need to choose between three alternatives:

- If Farmer John drives directly from a to b without teleporting, he travels a distance of |ab|.

- Farmer John could travel from a to x, teleport to y, then travel to b, for a distance of |ax|+|by|.

- Farmer John could travel from a to y, teleport to x, then travel to b, for a distance of |ay|+|bx|.

Taking the smallest of these three yields the answer.

#include <iostream>
#include <algorithm>
using namespace std;
 
int main(void)
{
  int a, b, X[8], Y[8], x, y;
  cin >> a >> b;
  cin >> x >> y;
  int answer = abs(a-b); // no teleport
  answer = min(answer, abs(a-x) + abs(b-y));
  answer = min(answer, abs(a-y) + abs(b-x));
  cout << answer << "\n";
  return 0;
}