Codeforces Round 969 (Div. 2) |
---|
Закончено |
Дора только что научилась языку программирования C++!
Однако она совершенно неправильно поняла значение C++. Она рассматривает его как два вида операций прибавления для массива $$$c$$$ из $$$n$$$ элементов. У Доры есть два целых числа $$$a$$$ и $$$b$$$. За одну операцию она может выбрать одно из следующих действий:
Обратите внимание, что $$$a$$$ и $$$b$$$ являются константами, и они могут быть одинаковыми.
Определим диапазон массива $$$d$$$ как $$$\max(d_i) - \min(d_i)$$$. Например, диапазон массива $$$[1, 2, 3, 4]$$$ равен $$$4 - 1 = 3$$$, диапазон массива $$$[5, 2, 8, 2, 2, 1]$$$ равен $$$8 - 1 = 7$$$, а диапазон массива $$$[3, 3, 3]$$$ равен $$$3 - 3 = 0$$$.
После любого количества операций (возможно, $$$0$$$) Дора вычисляет диапазон нового массива. Вам нужно помочь Доре минимизировать это значение, но поскольку Дора любит исследовать всё самостоятельно, вам нужно сказать ей только само минимальное значение.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$a$$$ и $$$b$$$ ($$$1 \leq n \leq 10^5$$$, $$$1 \leq a, b \leq 10^9$$$) — длина массива $$$c$$$ и значения констант соответственно.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$c_1, c_2, \ldots, c_n$$$ ($$$1 \leq c_i \leq 10^9$$$) — начальные элементы массива $$$c$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$10^5$$$.
Для каждого набора входных данных выведите одно целое число — минимально возможный диапазон массива после какого-то количества операций.
104 5 51 3 4 44 2 31 3 4 64 7 71 1 2 63 15 91 9 53 18 121 4 57 27 3633 13 23 12 35 24 4110 6 915 5 6 9 8 2 12 15 3 82 1 10000000001 10000000006 336718728 709848696552806726 474775724 15129785 371139304 178408298 131060716 335734893 671469786138885253 70095920 456876775 9345665 214704906 375508929
3 0 3 2 3 5 1 0 17 205359241
В первом наборе входных данных мы можем увеличить $$$c_1 = 1$$$ на $$$a = 5$$$. Массив $$$c$$$ станет равным $$$[6, 3, 4, 4]$$$, и диапазон равен $$$3$$$. Обратите внимание, что есть более одного способа достичь ответа.
Во втором наборе входных данных мы можем увеличить $$$c_1 = 1$$$ на $$$a = 2$$$, а затем увеличить $$$c_1 = 3$$$ на $$$b = 3$$$. Также мы можем увеличить $$$c_2 = 3$$$ на $$$b = 3$$$ и увеличить $$$c_3 = 4$$$ на $$$a = 2$$$. Массив $$$c$$$ станет равным $$$[6, 6, 6, 6]$$$, и диапазон равен $$$0$$$.
Название |
---|