| Pinely Round 5 (Div. 1 + Div. 2) |
|---|
| Закончено |
Вы — покупатель в магазине и хотите купить $$$n$$$ товаров. Каждый товар $$$i$$$ имеет цену $$$a_i$$$, такую что $$$1 \leq a_i \leq X$$$, где $$$X$$$ — это фактор лояльности.
Ваш уровень лояльности в магазине определяется как $$$\lfloor {S \over X} \rfloor$$$, где $$$S$$$ — это общая стоимость уже купленных товаров. Изначально $$$S = 0$$$.
Если вы покупаете товар с ценой $$$p$$$ и в результате этой покупки ваш уровень лояльности увеличивается, вы получаете $$$p$$$ бонусных баллов.
Ваша задача — найти максимальное количество бонусных баллов, которое вы можете заработать, выбрав оптимальный порядок покупки товаров.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$n$$$ ($$$1 \leq n \leq 10^5$$$) и $$$X$$$ ($$$1 \leq X \leq 10^9$$$) — количество товаров и фактор лояльности.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_1$$$, $$$a_2$$$, $$$\ldots$$$, $$$a_n$$$ ($$$1 \leq a_i \leq X$$$) — цены товаров.
Гарантируется, что сумма всех $$$n$$$ по всем наборам данных не превышает $$$10^5$$$.
Для каждого набора данных выведите две строки.
В первой строке выведите одно целое число — максимальное количество бонусных баллов, которое можно заработать.
Во второй строке выведите $$$n$$$ целых чисел — цены товаров в порядке их покупки для максимального количества бонусных баллов.
Если существует несколько различных способов, дающих максимальное количество бонусных баллов, можно вывести любой из них.
710 21 2 1 2 1 2 1 2 1 25 102 2 2 2 511 235 5 22 1 21 2 10 3 1 1 21 111 17113 10044 32 116 10050042801 73112 95296 68791 42217 21871 29316 84405 24273 42894 63370 53473 57156 61369 80 27290
12 1 2 2 2 2 2 1 1 1 1 5 2 2 2 2 5 53 1 1 5 2 1 2 5 3 10 21 22 1 1 0 11 0 44 32 1 503499 53473 42894 80 57156 42801 61369 42217 63370 29316 68791 27290 73112 24273 84405 21871 95296
В первом примере:
Итого получено $$$12$$$ бонусных баллов.
Во втором примере:
В третьем примере:
| Название |
|---|


