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 балів)
Немає додаткових обмежень
Коментарі