10714: Розподіл цукерок
Відправити розв'язок
Бали:
100 (partial)
Time limit:
1.0s
Memory limit:
256M
Author:
Problem type
Allowed languages
Brain****, C++, Java, Pascal, Python, v8js
\(N\) дітей хочуть розділити між собою \(K\) цукерок.
Для кожної дитини номер \(i\) відомо число \(Ai\) - скільки максимально цукерок він може отримати (може отримати будь-яку кількість цукерок від \(0\) до \(Ai\)).
Також всі \(K\) цукерок мають бути розподілені між дітьми без залишку.
Визначіть кількість способів розділити цукерки між дітьми Відповідть обчисліть за модулем \(10^9 + 7\)
Формат вхідних даних
В першому рядку два цілих числа \(N,K\) (\(1 \le N \le 100\) , \(0 \le K \le 10^5\))
В другому рядку \(N\) цілих чисел \(Ai\) (\(0 \le Ai \le K\))
Формат вихідних даних
Виведіть кількість способів за модулем \(10^9+7\)
Приклад вхідних даних-1
3 4
1 2 3
Приклад вихідних даних-1
5
Пояснення до прикладу-1
Існує 5 способів розподілити 4 цукерки між трьома заданими дітьми
(0,1,3)
(0,2,2)
(1,0,3)
(1,1,2)
(1,2,1)
Приклад вхідних даних-2
1 10
9
Приклад вихідних даних-2
0
Приклад вхідних даних-3
2 0
0 0
Приклад вихідних даних-3
1
Пояснення до прикладу-3
Існує лише оди спосіб розподілити 0 цукерок між 2 заданими дітьми
(0,0)
Приклад вхідних даних-4
4 100000
100000 100000 100000 100000
Приклад вихідних даних-4
665683269
Коментарі