Задача №114530. Планировка участка
Учёные планируют участок для испытательного полигона. Участок должен иметь форму прямоугольника \(a \times b\), а полигон должен иметь форму прямоугольника \(c \times d\). С точными значениями чисел \(a\), \(b\), \(c\) и \(d\) ученые пока не определились, однако известно следующее:
- Длины сторон \(a\), \(b\), \(c\), \(d\) должны быть натуральными числами и выражаться в километрах.
- Для безопасности эксперимента длина и ширина участка должны отличаться от значения \(x\), то есть должны выполняться неравенства \(a \ne x\), \(b \ne x\).
- Участок будет огражден забором, а полигон должен полностью помещаться внутри участка, то есть должны выполняться следующие условия: \(a \gt c\), \(b \gt d\).
- Площадь участка, не занятого полигоном, должна быть ровно \(n\) квадратных километров, то есть должно выполняться следующее условие: \(a \cdot b - c \cdot d = n\).
Требуется написать программу, которая по заданным \(n\) и \(x\) определяет количество способов выбрать числа \(a\), \(b\), \(c\) и \(d\) так, чтобы все описанные условия выполнялись.
В первой строке ввода содержатся два числа: \(n\) — площадь свободного участка без полигона (\(1 \le n \le 3000\)) и \(x\) — запрещенная длина стороны участка (\(0 \le x \le 3000\)).
Значение \(x = 0\) означает, что ограничений на длины сторон нет (так как длины сторон должны быть натуральными числами, и, следовательно, больше \(0\)).
В единственной строке выведите количество способов выбрать числа \(a\), \(b\), \(c\) и \(d\) так, что все описанные условия выполняются.
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Ограничения | Необходимые подзадачи | Информация о проверке |
1 | 11 | \(1 \le n \le 50\), \(x = 0\) | первая ошибка | |
2 | 10 | \(1 \le n \le 50\) | 1 | первая ошибка |
3 | 20 | \(1 \le n \le 500\), \(x = 0\) | 1 | баллы |
4 | 22 | \(1 \le n \le 500\) | 1, 2, 3 | баллы |
5 | 17 | \(1 \le n \le 3000\), \(x = 0\) | 1, 3 | баллы |
6 | 20 | \(1 \le n \le 3000\) | 1, 2, 3, 4, 5 | баллы |
В первом тестовом примере подходят только \(a = 2\), \(b = 2\), \(c = 1\), \(d = 1\).
Во втором тестовом примере подходят следующие ответы:
- \(a = 2\), \(b = 3\), \(c = 1\), \(d = 1\);
- \(a = 2\), \(b = 4\), \(c = 1\), \(d = 3\);
- \(a = 3\), \(b = 2\), \(c = 1\), \(d = 1\);
- \(a = 3\), \(b = 3\), \(c = 2\), \(d = 2\);
- \(a = 4\), \(b = 2\), \(c = 3\), \(d = 1\).
В третьем тестовом примере подходят следующие ответы:
- \(a = 2\), \(b = 4\), \(c = 1\), \(d = 3\);
- \(a = 4\), \(b = 2\), \(c = 3\), \(d = 1\).
3 0
1
5 0
5
5 3
2