Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Бочки

(Время: 1 сек. Память: 256 Мб Сложность: 75%)

В городе строится T новых зданий. У каждого здания есть N одинаковых бочек с краской и K этажей строительных лесов. Из-за некоторых особенностей технологического процесса действуют следующие правила:

  • На первый ярус (номер 1) можно поставить или убрать бочку в любой момент.
  • Поставить бочку на ярус i или убрать её оттуда разрешается только при наличии бочки на ярусе i − 1.
  • Работы заканчиваются, когда бочка впервые окажется на ярусе с номером K.

Найдите минимальное число действий и сообщите отдельно количество установок и снятий. Если невозможно решить задачу по заданным правилам, то необходимо вывести «-1 -1».

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

В первой строке входного файла INPUT.TXT находится натуральное число T – количество зданий (1 ≤ T ≤ 105).

В каждой из следующих T строках находится по два натуральных числа N и K (1 ≤ N ≤ 18, 1 ≤ K ≤ 106).

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

В выходной файл OUTPUT.TXT для каждого здания выведите ответ на задачу.

Пример

INPUT.TXTOUTPUT.TXT
12
3 6
2 10
6 3
-1 -1

Пояснение к примеру

В первом тесте в первом здании можно сделать следующие действия:

  1. Установить на 1 ярус.
  2. Установить на 2 ярус.
  3. Установить на 3 ярус.
  4. Снять со 2 яруса.
  5. Снять с 1 яруса.
  6. Установить на 4 ярус.
  7. Установить на 5 ярус.
  8. Снять с 4 яруса.
  9. Установить на 6 ярус.

Автор задачи

Владимир Игоревич Лукьянчиков

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Фёдор Меньшиков. Олимпиадные задачи по программированию, 2006
 Сборник задач В.И. Лукьянчикова
 Булева Алгебра
 Геометрия
 Динамическое программирование
 Комбинаторика
 Разбор строк
 Разное
 Разное 2
 Рекурсия, перебор
 Системы счисления
 Сортировка и последовательности
 Теория графов
 Формула
 Целочисленная арифметика
 Целочисленная арифметика 2
 Структуры данных
 Бинарный поиск
 Занимательная математика
 Занимательная математика 2
 Занимательная математика 3
 A. Городок 1
 B. Сложная рекурсия 3
 C. Бочки
 D. Двусторонние фильтры

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru