Задача 1. Поиск трапеции

Автор:Завгороднев А.А. Бадерик М.М.   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Ваня купил себе VR-гарнитуру и решил поиграть. Для начала ему необходимо разметить VR-зону в комнате. Для этого Ваня хочет использовать изоленту. У него уже есть N отрезанных кусков длиной ai. VR-зона должна иметь форму прямоугольной трапеции. Каждая сторона трапеции должна быть образована ровно одним куском изоленты.

В представлении Вани трапецией является любая фигура, состоящая из четырех сторон, у которой две стороны параллельны, и эти стороны называются основаниями. А прямоугольная трапеция это такая трапеция, у которой хотя бы одна сторона, не являющаяся основанием, перпендикулярна основаниям.

Формат входных данных

Первая строка содержит единственное число N. Следующие N строк содержат целые числа — длины отрезков ai

Формат выходных данных

Выведите 4 индекса отрезков в порядке возрастания или  − 1, если невозможно получить прямоугольную трапецию. Индексация начинается с нуля.

Если существует несколько ответов, выведите трапецию с максимальной площадью, а среди таких — с минимальным первым индексом.

Ограничения

1 ≤ N ≤ 40, 1 ≤ ai ≤ 100

Примеры тестов

Стандартный вход Стандартный выход
1
5
12
10
3
7
23
-1
2
6
14
12
16
21
15
25
1 2 4 5

Задача 2. Разделение прямоугольника

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:100  

Условие

Аня играет в новую настольную игру «Клетчатое королевство».

Рассмотрим прямоугольное клетчатое поле размером a × b.

Необходимо разделить его на m прямоугольников вертикальными или горизонтальными разрезами. Прямоугольники не обязательно должны получиться равными. Необходимо суммарно провести ровно k разрезов.

Каждый разрез представляет собой прямую линию от одного края поля до другого края поля. Разрезы разрешено делать только по границам клеток — линиям сетки.

Выведите, сколько провести горизонтальных (0 ≤ h < a) и сколько вертикальных (0 ≤ v < b) разрезов. Если поле можно разрезать несколькими способами, выведите тот, в котором горизонтальных разрезов меньше. Если поле нельзя разрезать требуемым образом, выведите  − 1.

Формат входных данных

В первой строке дано ровно одно целое число t — количество тестов.

В следующих t строках находится описание тестов: в i-й строке через пробел даны четыре целых числа: a, b, k, m — высота и ширина поля, количество разрезов и количество прямоугольников соответственно.

Формат выходных данных

Для каждого теста выведите через пробел ровно два целых числа h и v — количество горизонтальных и количество вертикальных разрезов, если прямоугольное клетчатое поле можно разрезать требуемым образом, в противном случае выведите число  − 1.

Ограничения

1 ≤ t ≤ 100

1 ≤ a, b ≤ 109, 0 ≤ k ≤ 2 ⋅ 109, 1 ≤ m ≤ 1018, k < m

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

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

Подзадача Баллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
1 18 a = 1 первая ошибка
2 19 1 ≤ m ≤ 105 первая ошибка
3 20 1 ≤ k ≤ 105 2 первая ошибка
4 21 1 ≤ m ≤ 109 2 первая ошибка
5 22 нет 1 − 4 первая ошибка

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

В приведенном примере содержится три теста:

  1. В первом тесте поле можно разрезать, как показано на рисунке:

    Иллюстрация к первому тесту:

    a = 2, b = 2, k = 1, m = 2.

  2. Во втором тесте поле нельзя разрезать требуемым образом.
  3. В третьем тесте поле можно разрезать, как показано на рисунке:

    Иллюстрация к третьему тесту:

    a = 3, b = 5, k = 5, m = 12.

Примеры тестов

Стандартный вход Стандартный выход
1
3
2 2 1 2
1 2 2 3
3 5 5 12
0 1
-1
2 3

Задача 3. Метрострой

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:100  

Условие

Буровая установка «Мегабур 2022» для прокладки туннелей метро Байтсбурга имеет n двигателей. Питание установки устроено таким образом, что на все двигатели подается одно и то же целочисленное напряжение x.

У каждого двигателя есть два режима, если на него подается напряжение x, то i-й двигатель работает в первом режиме, если x ≤ zi и во втором режиме, если x > zi.

При этом i-й двигатель характеризуется удельной мощностью ai в первом режиме и bi во втором режиме. Это означает, что увеличение напряжения на 1 когда двигатель находится в первом режиме, приводит к увеличению его мощности на ai, а во втором режиме приводит к увеличению его мощности на bi. Иначе говоря, при подаче напряжения x, если i-й двигатель находится в первом режиме он работает с мощностью ai x, а если во втором режиме, то с мощностью ai zi + bi(x − zi).

Для прокладки туннеля суммарная мощность двигателей должна быть не меньше p. Какое минимальное целочисленное напряжение необходимо подать на установку, чтобы суммарная мощность двигателей была больше или равна p?

Формат входных данных

Первая строка ввода содержит целые числа n и p.

Следующие n строк описывают двигатели и содержат по три целых числа zi, ai, bi.

Формат выходных данных

Требуется вывести одно целое число — минимальное напряжение, которые необходимо подать на установку.

Ограничения

1 ≤ n ≤ 100, 1 ≤ p ≤ 1012

1 ≤ zi ≤ 109, 1 ≤ ai, bi ≤ 104

Примеры тестов

Стандартный вход Стандартный выход
1
1 6
4 1 2
5
2
3 15
2 3 3
4 2 1
5 2 2
3

Задача 4. Фантастическое чёрно-красное дерево

Автор:Завгороднев А.А., Бадерик М.М.   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Существует фантастическое черное-красное дерево - граф, который представляет из себя дерево (связный граф без циклов), в котором каждая вершина покрашена в один из двух цветов - красный или черный.

У вас есть не менее замечательная строка s, состоящая из K символов ‘r' и 'b’. Ваша задача - выяснить сколько существует путей по дереву, таких, что если выписать цвета вершин, по которым вы прошлись, то получится строка s.

Путь - последовательность вершин, которая ведет из одной вершины в другую и проходит по ребрам графа. Одна вершина встречается в пути не более одного раза.

Формат входных данных

В первой строке целое число N- количество вершин в графе.

Далее строка g состоящая из N символов ‘r' и 'b’, описывающая цвета вершин дерева.

Далее строка s, состоящая из K символов ‘r' и 'b’.

В следующих строках два целых числа - ai и bi - начало и конец ребра.

Формат выходных данных

Одно целое число - количество различных путей.

Ограничения

2 ≤ K ≤ N ≤ 104

Примеры тестов

Стандартный вход Стандартный выход
1
5
brbrr
rbr
1 3
4 3
3 5
2 3
6
2
5
brrbr
rb
1 2
1 5
3 4
5 4
4

Задача 5. Дробные монеты

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

В одном государстве в обращении находятся монеты достоинством xy бурлей, где 1 ≤ x < y и xy — несократимая дробь. Например, при y = 5 в ходу монеты достоинством 15, 25, 35 и 45 бурлей, а при y = 6 — монеты 16 и 56.

Хорошим тоном для банковских работников страны является набор требуемой суммы наименьшим количеством монет. Например, если клиент хочет снять сумму 136, ему выдадут пять монет: две монеты достоинством 56 и три монеты достоинством 16.

Определите наименьшее количество монет для набора требуемой денежной суммы py.

Формат входных данных

Первая строка входного файла содержит натуральное число p — числитель требуемой для выдачи суммы, вторая строка содержит натуральное число y — знаменатель достоинств всех монет в стране.

Формат выходных данных

Выведите одно натуральное число — ответ на вопрос задачи.

Ограничения

1 ≤ p ≤ 105

2 ≤ y ≤ 100

Система оценки и описание подзадач

Баллы за каждый тест начисляются независимо.

Решения, верно работающие при y = 2, получат не менее 10 баллов.

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

В первом примере дано y = 15. В обращении находятся монеты достоинством 115, 215, 415, 715, 815, 1115, 1315 и 1415.

Для набора суммы 1715 достаточно взять две монеты, например 1315 и 415.

Во втором примере дано y = 2. В обращении находятся только монеты достоинством 12.

Для набора суммы 42 = 21 необходимо взять четыре монеты.

Примеры тестов

Стандартный вход Стандартный выход
1
17
15
2
2
4
2
4

0.286s 0.009s 25