eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Плюсы и звездочки – 2

Плюсы и звездочки – 2

Задана последовательность целых чисел \textbf{a_1} ? \textbf{a_2} ? \textbf{a_3} ? … ? \textbf{a_n}. Следует заменить каждый \textbf{?} либо +, либо *. Далее выражение вычисляется согласно арифметическим правилам, где + обозначает сложение, * обозначает умножение. Умножение имеет больший приоритет над сложением, то есть \textbf{2} + \textbf{2} * \textbf{2} равно \textbf{6}, а не \textbf{8}. Сколькими способами можно получить результат \textbf{r}? \InputFile Первая строка содержит два числа \textbf{n} и \textbf{r} - количество значений \textbf{a_i} и требуемый результат. Вторая строка содержит разделенные пробелом числа \textbf{a_1}, \textbf{a_2}, \textbf{a_3}, …, \textbf{a_n} (\textbf{3} ≤ \textbf{n} ≤ \textbf{36}, \textbf{1} ≤ \textbf{r} ≤ \textbf{2^42}, \textbf{1} ≤ \textbf{a_k} ≤ \textbf{2^17}). \OutputFile Вывести одно число - количество способов, которыми можно получить значение \textbf{r}.
Лимит времени 4 секунды
Лимит использования памяти 64 MiB
Входные данные #1
2 4
2 2
Выходные данные #1
2

Объяснение: Пять вариантов: 2+2+2+2; 2+2+2*2; 2+2*2+2; 2*2+2+2; 2*2+2*2.

Источник 2014 ACM-ICPC Украина, 2ой Раунд Украина, Сентябрь 13, Задача B