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

Задача . A. С.А. Отклонение


Число \(a_2\) считается средним арифметическим двух чисел \(a_1\) и \(a_3\), если выполняется условие: \(a_1 + a_3 = 2\cdot a_2\).

Определим среднее арифметическое отклонение трех чисел \(a_1\), \(a_2\) и \(a_3\) следующим образом: \(d(a_1, a_2, a_3) = |a_1 + a_3 - 2 \cdot a_2|\).

Арифметика много значит для Jeevan. У него есть три числа \(a_1\), \(a_2\) и \(a_3\), и он хочет минимизировать среднее арифметическое отклонение \(d(a_1, a_2, a_3)\). Для этого он может выполнить следующую операцию любое количество раз (возможно, ноль):

  • Выбрать \(i, j\) из \(\{1, 2, 3\}\) такие, что \(i \ne j\) и увеличить \(a_i\) на \(1\) и уменьшить \(a_j\) на \(1\).

Помогите Jeevan найти минимальное значение \(d(a_1, a_2, a_3)\), которое может быть получено после применения операции любое количество раз.

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

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

Первая и единственная строка каждого набора входных данных содержит три целых числа \(a_1\), \(a_2\) и \(a_3\) \((1 \le a_1, a_2, a_3 \le 10^{8})\).

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

Для каждого набора входных данных выведите минимальное значение \(d(a_1, a_2, a_3)\), которое может быть получено после применения операции любое количество раз.

Примечание

Обратите внимание, что после применения нескольких операций значения \(a_1\), \(a_2\) и \(a_3\) могут стать отрицательными.

В первом наборе входных данных \(4\) уже является средним арифметическим \(3\) и \(5\).

\(d(3, 4, 5) = |3 + 5 - 2 \cdot 4| = 0\)

Во втором наборе входных данных мы можем применить следующую операцию:

\((2, 2, 6)\) \(\xrightarrow[\text{увеличить \)a_2\(}]{\text{уменьшить \)a_1\(}}\) \((1, 3, 6)\)

\(d(1, 3, 6) = |1 + 6 - 2 \cdot 3| = 1\)

Можно доказать, что получить меньшее среднее арифметическое отклонение нельзя.

В третьем наборе входных данных мы можем применить следующие операции:

\((1, 6, 5)\) \(\xrightarrow[\text{увеличить \)a_3\(}]{\text{уменьшить \)a_2\(}}\) \((1, 5, 6)\) \(\xrightarrow[\text{увеличить \)a_1\(}]{\text{уменьшить \)a_2\(}}\) \((2, 4, 6)\)

\(d(2, 4, 6) = |2 + 6 - 2 \cdot 4| = 0\)


Примеры
Входные данныеВыходные данные
1 3
3 4 5
2 2 6
1 6 5
0
1
0

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

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