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

Задача . B. А и Б


У вас есть два числа \(a\) и \(b\). Вы можете выполнять следующие операции с ними: в качестве первой операции увеличить одно из этих двух чисел на \(1\); в качестве второй — увеличить на \(2\), и так далее. Количество таких операций вы выбираете сами.

Например, если \(a = 1\) и \(b = 3\), вы можете сделать следующую последовательность из трех операций:

  1. добавить \(1\) к \(a\), тогда \(a = 2\) и \(b = 3\);
  2. добавить \(2\) к \(b\), тогда \(a = 2\) и \(b = 5\);
  3. добавить \(3\) к \(a\), тогда \(a = 5\) и \(b = 5\).

Вычислите минимальное количество операций, необходимое для того, чтобы сделать числа \(a\) и \(b\) равными.

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

Первая строка содержит число \(t\) (\(1 \le t \le 100\)) — количество наборов входных данных.

Каждый набор входных данных содержит два числа \(a\) и \(b\) (\(1 \le a, b \le 10^9\)).

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

На каждый набор входных данных выведите число — минимальное количество операций необходимое для того, чтобы сделать числа \(a\) и \(b\) равными.

Примечание

Первый набор входных данных разобран в условии.

Во втором наборе входных данных числа \(a\) и \(b\) равны изначально, а значит вам вообще не нужно выполнять операций.

В третьем наборе входных данных вам нужно применить первую, вторую, третью и четвертую операции к числу \(b\) (\(b\) превратится в \(20 + 1 + 2 + 3 + 4 = 30\)).


Примеры
Входные данныеВыходные данные
1 3
1 3
11 11
30 20
3
0
4

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

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