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

Сума добутків

Сума добутків

Задано набір змінних \textbf{x_1}, \textbf{x_2}, ..., \textbf{x_N}. Кожна змінна \textbf{x_i} може приймати лише значення \textbf{-1}, \textbf{0} або \textbf{+1}. Для заданого цілого числа \textbf{S} потрібно визначити кількість способів надати змінним \textbf{x_i} значення так, щоб сума всіх можливих добутків \textbf{x_i·x_j} була рівна \textbf{S}, де \textbf{i} < \textbf{j} та \textbf{i}, \textbf{j} = \textbf{1}, \textbf{2}, ..., \textbf{N}. Два способи вважаються різними, якщо вони містять відмінне число \textbf{x_i} = \textbf{0}. \InputFile У першому рядку знаходяться числа \textbf{N} і \textbf{S}, відокремлені пропуском. \textbf{2} ≤ \textbf{N} ≤ \textbf{10000}, \textbf{-10000} < \textbf{S} < \textbf{10000}. \OutputFile Вивести одне ціле число - кількість способів подати \textbf{S} як суму добутків.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 0
Вихідні дані #1
3