Олимпиадный тренинг

Задача . C. Двое полицейских


Задана улица, которую можно представить массивом длины \(n\).

Двое полицейских патрулируют эту улицу: первый стоит в точке \(x\), а второй стоит в точке \(y\).

В течение одной минуты оба полицейских могут решить, что им делать (независимо): пойти влево (если текущая позиция больше \(1\)), пойти вправо (если текущая позиция меньше \(n\)), или же не делать ничего.

Улица считается чистой, если каждая точка улицы посещена хотя бы одним полицейским.

Ваша задача — найти минимальное количество минут, необходимое полицейским для того, чтобы посетить каждую точку улицы (опять же, каждая точка должна быть посещена хотя бы одним из них).

Вам необходимо ответить на \(t\) независимых наборов тестовых данных.

Входные данные

Первая строка входных данных содержит одно целое число \(t\) (\(1 \le t \le 2 \cdot 10^4\)) — количество наборов тестовых данных. Затем следуют \(t\) наборов тестовых данных.

Единственная строка набора тестовых данных содержит три целых числа \(n\), \(x\) и \(y\) (\(2 \le n \le 10^6\); \(1 \le x, y \le n\); \(x \ne y\)) — длину улицы, позицию первого полицейского и позицию второго полицейского, соответственно.

Гарантируется, что сумма \(n\) не превосходит \(10^6\) (\(\sum n \le 10^6\)).

Выходные данные

Для каждого набора тестовых данных выведите одно целое число — минимальное количество минут, необходимое полицейским, чтобы посетить каждую точку улицы.


Примеры
Входные данныеВыходные данные
1 6
4 1 2
7 7 1
10 2 6
8 5 2
2 1 2
20 4 14
2
3
5
4
0
12

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя