Codeforces Global Round 25 |
---|
Закончено |
По кругу расставлены $$$m$$$ корзин, пронумерованных от $$$1$$$ до $$$m$$$ по часовой стрелке (корзина $$$m$$$ находится рядом с корзиной $$$1$$$). Кроме того, имеется $$$n$$$ шаров, причем шар $$$i$$$ первоначально помещен в корзину $$$a_i$$$, и ни одна корзина не содержит более одного шара.
Алисе разрешено выполнять следующую операцию, которая всегда занимает ровно одну секунду, независимо от того, перемещаете/выбрасываете вы шар или нет:
Она повторяет эту операцию до тех пор, пока не останется ровно один шар. Вычислите математическое ожидание времени (в секундах), необходимого Алисе для завершения процесса.
Можно доказать, что ответ можно представить в виде рационального числа $$$\frac{p}{q}$$$ с простыми $$$p$$$ и $$$q$$$. Вам нужно вывести $$$p \cdot q^{-1} \bmod 10^9 + 7$$$. Можно доказать, что $$$10^9 + 7 \nmid q$$$.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 3 \cdot 10^5, n \le m \le 10^9$$$) — количество шаров и количество корзин.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le m$$$, $$$a_i$$$ попарно различны) — начальное положение каждого шара.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число: математическое ожидание времени (в секундах), необходимое Алисе для завершения процесса, по модулю $$$10^9 + 7$$$.
53 105 1 42 1515 16 61 2 3 4 5 66 96 5 4 3 2 11 10069
600000042 14 35 333333409 0
В первом наборе входных данных Алиса могла бы действовать следующим образом (мы определяем $$$a_i = -1$$$, если шар $$$i$$$ был выброшен):
Ответ для второго набора входных данных равен $$$14$$$ (обратите внимание, что эти два шара находятся рядом друг с другом).
Ответ для третьего набора входных данных равен $$$35$$$.
Ответ для четвертого набора входных данных равен $$$\frac{220}{3}$$$.
В пятом наборе входных данных, поскольку изначально имеется только один шар, ответ равен $$$0$$$.
Название |
---|