Задача №114771. Задача для третьеклассника

Пусть число \(n\) можно породить из единиц с помощью \(a\) сложений и \(b\) умножений, если существует корректное арифметическое выражение содержащее \((\), \()\), \(+\), \(\cdot\), \(1\), такое что его значение равно \(n\), и в нём ровно \(a\) операций \(+\) и \(b\) операций \(\cdot\).

Примеры корректных выражений:

  • \(1\)
  • \(1 + 1\)
  • \((1 + 1) \cdot (1 + 1) + 1\)
  • \((1 + (1 + 1) + (1))\)

Примеры некорректных выражений:

  • \((1\)
  • \((((()\)
  • \(111\)
  • \((1+1)^{1+1+1+1}\)

Даны \(q\) запросов из двух чисел \(n_i\), \(a_i\). Для каждого запроса требуется вывести минимальное \(b_i\), такое что \(n_i\) можно породить с помощью не более \(a_i\) сложений и не более \(b_i\) умножений. Если такого \(b_i\) не существует, выведите \(-1\).

Входные данные

В первой строке даны 2 числа \(q\), \(g\) (\(1 \leq q \leq 10^6, 0 \leq g \leq 1\)) — количество запросов и флаг – правда ли, что этот тест относится к первой группе тестов (1 — относится или 0 — не относится).

В следующих \(q\) строках содержатся пары целых чисел \(n_i, a_i\) (\(1 \leq n_i \leq 5 \cdot 10^5, 0 \leq a_i \leq 5 \cdot 10^5\)) — число, которое нужно породить, и максимальное допустимое число сложений для данного запроса.

Выходные данные

Для каждого запроса выведите в отдельной строке минимально возможное \(b_i\), или \(-1\), если его не существует.

Примечание

Возможные варианты для выражений для теста из условия:

  1. Невозможно используя только \(1\) \(+\) и сколько угодно \(\cdot\) породить \(10\).
  2. \(((1 + 1) \cdot (1 + 1)) \cdot (1 + 1 + 1) = 12\)
  3. \((1 + 1 + 1 + 1 + 1) \cdot (1 + 1) = 10\)
  4. \((1 + 1 + 1 + 1) \cdot (1 + 1 + 1 + 1) + 1 = 17\)
  5. \((1 + 1 + 1) \cdot (1 + 1 + 1) = 9\)
  6. \((1 + 1 + 1 + 1) \cdot (1 + 1 + 1) = 12\)
  7. \(1 + 1 = 2\)
  8. \((1 + 1 + 1) \cdot (1 + 1) + 1 = 7\)
  9. \((1 + 1 + 1 + 1) \cdot (1 + 1 + 1) = 12\)
  10. \((1 + 1 + 1 + 1 + 1 + 1) \cdot (1 + 1 + 1) = 18\)

Система оценки

Тесты к этой задаче состоят из восьми групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов некоторых из предыдущих групп. Обратите внимание, прохождение тестов из условия не требуется для некоторых групп.

Доп. ограничения
Группа Баллы \(n_i\), \(a_i\) \(b_i\) Необх. группы Комментарий
0 0 Тесты из условия
1 6 \(b_i = 1 \) или ответ \(-1\)
2 12 \(n_i \le 400\), \(a \le 20\) 0
3 15 \(a_i \le 20\) 0, 2
4 13 \(a_i \le 30\) 0, 2 – 3
5 12 \(a_i \le 40\) 0, 2 – 4
6 11 \(a_i \le 60\) 0, 2 – 5
7 31 0 – 6
Примеры
Входные данные
10 0
10 1
12 4
10 5
17 7
9 4
12 5
2 1
7 4
12 5
18 7
Выходные данные
-1
2
1
1
1
1
0
1
1
1
Сдать: для сдачи задач необходимо войти в систему