10552. Skyscraper


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 300M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Задано \(N\) цілих чисел.
Знайти кількість перестановок цих чисел, таких, що сума модулів різниць сусідніх елементів не більше \(L\)</br>

Формат вхідних даних

В першому рядку два цілих числа \(N,L\) (\(1 \le N \le 100\) , \(1 \le L \le 1000\)).
В другому рядку задано \(N\) цілих чисел \(Ai\) (\(1 \le Ai \le 1000\)).

Формат вихідних даних

Виведіть відповідь на задачу за модулем 1000000007

Приклад вхідних даних - 1

4 10
3 6 2 9

Приклад вихідних даних - 1

6

Пояснення до прикладу - 1

Існує 6 перестановок, що задовільняють умові
для перестановки 2 3 6 9, маємо |2 − 3| + |3 − 6| + |6 − 9| = 7.
для перестановки 2 3 9 6, маємо |2 − 3| + |3 − 9| + |9 − 6| = 10.
для перестановки 3 2 6 9, маємо |3 − 2| + |2 − 6| + |6 − 9| = 8.
для перестановки 6 9 3 2, маємо |6 − 9| + |9 − 3| + |3 − 2| = 10.
для перестановки 9 6 2 3, маємо |9 − 6| + |6 − 2| + |2 − 3| = 8.
для перестановки 9 6 3 2, маємо |9 − 6| + |6 − 3| + |3 − 2| = 7.

Приклад вхідних даних - 2

8 35
3 7 1 5 10 2 11 6

Приклад вихідних даних - 2

31384

Підзадача 1 (5 балів)
\(N \le 8\)

Підзадача 2 (15 балів)
\(N \le 14\)
\(L \le 100\)

Підзадача 3 (80 балів)
Немає додаткових обмежень


Коментарі

Ще немає коментарів.