Two Rival Students (Codeforces 1257A)
Tags: Greedy, math

You are the gym teacher in the school.There are $$$n$$$ students in the row. And there are two rivalling students among them. The first one is in position $$$a$$$, the second in position $$$b$$$. Positions are numbered from $$$1$$$ to $$$n$$$ from left to right.Since they are rivals, you want to maximize the distance between them. If students are in positions $$$p$$$ and $$$s$$$ respectively, then distance between them is $$$|p - s|$$$. You can do the following operation at most $$$x$$$ times: choose two adjacent (neighbouring) students and swap them.Calculate the maximum distance between two rivalling students after at most $$$x$$$ swaps.

Input: The first line contains one integer $$$t$$$ ($$$1 \le t \le 100$$$) — the number of test cases.The only line of each test case contains four integers $$$n$$$, $$$x$$$, $$$a$$$ and $$$b$$$ ($$$2 \le n \le 100$$$, $$$0 \le x \le 100$$$, $$$1 \le a, b \le n$$$, $$$a \neq b$$$) — the number of students in the row, the number of swaps which you can do, and positions of first and second rivaling students respectively.

Output: For each test case print one integer — the maximum distance between two rivaling students which you can obtain.

Note: In the first test case you can swap students in positions $$$3$$$ and $$$4$$$. And then the distance between the rivals is equal to $$$|4 - 2| = 2$$$.In the second test case you don't have to swap students. In the third test case you can't swap students.

Sample Inputs:
3
5 1 3 2
100 33 100 1
6 0 2 3

Sample Outputs:
2
99
1

Solution (Python):
exec(int(input()) * 'n,x,a,b=map(int,input().split());print(min(n-1,abs(a-b)+x));')

Solution (Python):
t = int(input())
for i in range(t):
    (n, x, a, b) = map(int, input().split())
    d = abs(max(a, b) - min(a, b))
    dmax = n - 1
    for i in range(x):
        if d < dmax:
            d += 1
    print(d)

Solution (Python):
t = int(input())
for i in range(t):
    (n, x, a, b) = map(int, input().split())
    if a > b:
        (a, b) = (b, a)
    a1 = abs(a - 1)
    b1 = abs(n - b)
    if abs(a - b) == n - 1:
        print(n - 1)
    elif x == 0:
        print(abs(a - b))
    elif x >= a1 + b1:
        print(abs(n - 1))
    else:
        print(x + abs(a - b))