Codeforces Round 644 (Div. 3) |
---|
Закончено |
Перед вами стоит $$$n$$$ спортсменов. Спортсмены пронумерованы от $$$1$$$ до $$$n$$$ слева направо. Про каждого спортсмена вы знаете его силу — спортсмен с номером $$$i$$$ имеет силу $$$s_i$$$.
Вы хотите разделить всех спортсменов на две команды. В каждой команде должен быть хотя бы один спортсмен, и каждый спортсмен должен быть ровно в одной команде.
Вы хотите, чтобы самый сильный спортсмен из первой команды по силе как можно меньше отличался от самого слабого спортсмена из второй команды. Формально, вы хотите разделить спортсменов на две команды $$$A$$$ и $$$B$$$ так, чтобы величина $$$|\max(A) - \min(B)|$$$ была как можно меньше, где $$$\max(A)$$$ — максимальная сила спортсмена из команды $$$A$$$, а $$$\min(B)$$$ — минимальная сила спортсмена из команды $$$B$$$.
Например, если $$$n=5$$$ и силы спортсменов равны $$$s=[3, 1, 2, 6, 4]$$$, то одно из возможных разделений на команды имеет вид:
В этом случае величина $$$|\max(A) - \min(B)|$$$ будет равна $$$|4-3|=1$$$. Этот пример иллюстрирует один из способов оптимального разбиения на две команды.
Выведите минимальное значение $$$|\max(A) - \min(B)|$$$.
В первой строке записано целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов тестовых данных в тесте. Далее записаны $$$t$$$ наборов тестовых данных.
Каждый набор состоит из двух строк. В первой строке содержится целое положительное число $$$n$$$ ($$$2 \le n \le 50$$$) — количество спортсменов.
В следующей строке содержится $$$n$$$ положительных целых чисел $$$s_1, s_2, \ldots, s_n$$$ ($$$1 \le s_i \le 1000$$$), где $$$s_i$$$ — это сила $$$i$$$-го спортсмена. Обратите внимание, что среди элементов массива $$$s$$$ могут быть равные значения.
Для каждого набора тестовых данных выведите одно целое число — минимальное значение величины $$$|\max(A) - \min(B)|$$$ при оптимальном разбиении всех спортсменов на команды. Каждый из спортсменов должен оказаться членом ровно одной из двух команд.
5 5 3 1 2 6 4 6 2 1 3 2 4 3 4 7 9 3 1 2 1 1000 3 100 150 200
1 0 2 999 50
Первый набор тестовых данных разобран в условии. Во втором наборе одно из оптимальных разбиений имеет вид $$$A=[2, 1]$$$, $$$B=[3, 2, 4, 3]$$$, поэтому ответ равен $$$|2-2|=0$$$.
Название |
---|