


‘POINTS = [ [3, 1], [-1, 3], [2, 0] ]’, ‘N = 3’

The path with minimum time is: ‘[3,1] -> [2,2] -> [1,3] - > [0,3] -> [-1,3] -> [0,2] -> [1,1] -> [2,0]’.
Time taken from [3,1] to [-1,3] = 4 seconds.
Time taken from [-1,3] to [2,0] = 3 seconds.
Total time = 7 seconds. Thus, you should return ‘7’ as the answer.
The first line of input contains an integer ‘T’ which denotes the number of test cases. Then, the ‘T’ test cases follow.
The first line of each test case contains an integer ‘N’ denoting the number of points. Then, ‘N’ lines follow.
Each line contains two integers, ‘X’ and ‘Y’, representing an element of the array ‘POINTS’.
For every test case, the minimum time to visit all the points in the given order.
You do not need to print anything; it has already been taken care of. Just implement the function.
1 <= T <= 100
1 <= N <= 1000
Each element of ‘POINTS’ contains exactly two integers ranging from [-10^5, 10^5].
Time limit: 1 second
As per the problem, moving ‘sqrt(2)’ units diagonally is equivalent to (moving ‘1’ unit horizontally + moving ‘1’ unit vertically). The same distance covered diagonally in ‘1’ second requires ‘2’ seconds otherwise (‘1’ second for horizontal and ‘1’ second for vertical). Therefore, we should move diagonally as much as possible for optimal movement, and we should cover the remaining distance either horizontally or vertically.
Consider the following example where we move from point ‘[X1, Y1]’ to ‘[X2, Y2]’:
When we move ‘sqrt(2)’ units diagonally, we also move the ‘1’ unit along the x-direction or the y-direction.
Thus, the time required to move diagonally from ‘[X1, Y1] to [X3, Y2] = X3 - X1’.
Time required to move horizontally from ‘[X3, Y2] to [X2, Y2] = X2 - X3’.
Therefore, the time required to move from ‘[X1, Y1] to [X2, Y2] = (X3-X1)+(X2-X3) = X2-X1’.
If negative coordinates are present, we have the required time as ‘abs(X2 - X1)’ (absolute value).
Notice that here ‘abs(X2 - X1) > abs(Y2 - Y1)’ meaning we have to move diagonally and then horizontally. So, if ‘abs(Y2 - Y1) > abs(X2 - X1)’, then we have to move diagonally and then vertically, and the time required will be ‘abs(Y2 - Y1)’.
Thus, the minimum time required to travel from point,
‘[X1, Y1] to [X2, Y2] = max(abs(X2 - X1), abs(Y2 - Y1))’.