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

Задача . B. Сделай равными


Задача

Темы: математика *1200

Вам задана последовательность \(a_1, a_2, \dots, a_n\), которая состоит из \(n\) целых чисел.

Вы можете выбрать любое неотрицательное целое число \(D\) (т.е. \(D \ge 0\)) и для каждого \(a_i\) совершить одно из следующих действий:

  • прибавить \(D\) (только один раз), т.е. выполнить \(a_i := a_i + D\);
  • вычесть \(D\) (только один раз), т.е. выполнить \(a_i := a_i - D\);
  • оставить значение \(a_i\) без изменения.

Возможно, что после какой-либо операции значение какого-либо \(a_i\) может стать отрицательным.

Ваша задача выбрать такое минимальное неотрицательное целое \(D\) и выполнить последовательность действий, что все \(a_i\) станут равными (т.е. \(a_1=a_2=\dots=a_n\)).

Выведите искомое \(D\) или, если требуемое \(D\) найти невозможно, выведите -1.

Например, для массива \([2, 8]\) значение \(D=3\) является минимально возможным, потому что Вы можете получить массив \([5, 5]\), если Вы добавите \(D\) к \(2\) и вычтете \(D\) из \(8\). А для массива \([1, 4, 7, 7]\) значение \(D=3\) также является минимально возможным. Вы можете добавить его к \(1\) и вычесть его из \(7\) и получить массив \([4, 4, 4, 4]\).

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

В первой строке входных данных записано одно целое число \(n\) (\(1 \le n \le 100\)) — длина последовательности \(a\).

Вторая строка входных данных содержит последовательность из \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 100\)) — элементы последовательности \(a\).

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

Выведите одно целое число — такое минимальное неотрицательное целое значение \(D\), что его возможно прибавить к некоторым \(a_i\), вычесть из некоторых \(a_i\) и оставить остальные \(a_i\) без изменения так, что в результате последовательность все элементы последовательности будут одинаковыми.

Если требуемое значение \(D\) найти невозможно, выведите -1.


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

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

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