АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1490. Гипершашки

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Андрей работает судьей на чемпионате по гипершашкам. В каждой игре в гипершашки участвует три игрока. По ходу игры каждый из игроков набирает некоторое положительное целое число баллов. Если после окончания игры первый игрок набрал a баллов, второй — b, а третий c, то говорят, что игра закончилась со счетом a:b:c.

Андрей знает, что правила игры гипершашек устроены таким образом, что в результате игры баллы любых двух игроков различаются не более чем в k раз.

После матча Андрей показывает его результат, размещая три карточки с очками игроков на специальном табло. Для этого у него есть набор из n карточек, на которых написаны числа x1, x2, …, xn. Чтобы выяснить, насколько он готов к чемпионату, Андрей хочет понять, сколько различных вариантов счета он сможет показать на табло, используя имеющиеся карточки.

Требуется написать программу, которая по числу k и значениям чисел на карточках, которые имеются у Андрея, определяет количество различных вариантов счета, которые Андрей может показать на табло.

Формат входного файла

Первая строка входного файла содержит два целых числа: n и k (3  n  100 000, 1  k  109).

Вторая строка входного файла содержит n целых чисел x1, x2, …, xn (1  xi  109).

Формат выходного файла

Выходной файл должен содержать одно целое число — искомое количество различных вариантов счета.

Пример входных и выходных файлов

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

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

5 2

1 1 2 2 3

9

Пояснение к примеру

В приведенном примере Андрей сможет показать следующие варианты счета: 1:1:2, 1:2:1, 2:1:1, 1:2:2, 2:1:2, 2:2:1, 2:2:3, 2:3:2, 3:2:2. Другие тройки чисел, которые можно составить с использованием имеющихся карточек, не удовлетворяют заданному условию, что баллы любых двух игроков различаются не более чем в k = 2 раза.

Описание подзадач и системы оценивания

В этой задаче четыре подзадачи. Баллы за подзадачу начисляются только в случае, если все тесты для данной подзадачи пройдены.

Внимание! Тест из примера не подходит под ограничения для подзадач 1 и 3, но решение принимается на проверку только в том случае, если оно выводит правильный ответ на тесте из примера. Решение должно выводить правильный ответ на тест, даже если оно рассчитано на решение только каких-либо из подзадач 1 и 3.

Подзадача 1 (15 баллов)

3  n  100 000, k = 1, 1  xi  100 000

Подзадача 2 (23 балла)

 n  100, 1  k  100, 1  x  100

Подзадача 3 (30 баллов)

3  n  100 000, 1  k  109, 1  xi  109, все xi различны.

Подзадача 4 (32 балла)

3  n  100 000, 1  k  109, 1  x  109

Получение информации о результатах окончательной проверки

По запросу сообщается результат окончательной проверки на каждом тесте.

 


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Школьные олимпиады и курсы Вологодской области / ВсОШ, региональные этапы / Региональный этап 2015-16 /
1489. 5 - Три сына 1490. 1491. 7 - Интересные числа 1492. 8 - Гармоническая последовательность
 
время генерации 0.297 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.