Каталог задач
Поиск парных маяков
В исследовательской экспедиции на неизведанной планете установлена цепь из энергетических маяков, каждый из которых излучает сигнал мощности . Для активации защитного портала исследователю необходимо выбрать два различных маяка, суммарная мощность которых в точности равна целевому значению . Гарантируется, что среди всех маяков существует ровно одна подходящая пара. Помогите экспедиции найти 0-индексированные позиции (индексы) этих двух маяков в порядке возрастания. Входные данные - В первой строке задано целое число () — количество маяков. - Во второй строке заданы целых чисел () — мощности маяков. - В третьей строке задано целое число () — требуемая суммарная мощность. Выходные данные Выведите два целых числа через пробел — 0-индексированные позиции двух маяков в порядке возрастания. --- Примеры Пример 1 Входные данные: text 4 2 7 11 15 9 Выходные данные: text 0 1 Примечание: Элементы на позициях 0 и 1 равны 2 и 7, . Пример 2 Входные данные: text 3 3 2 4 6 Выходные данные: text 1 2 Примечание: Элементы на позициях 1 и 2 равны 2 и 4, .
Оптимизация LRU-буфера
В ядре высоконагруженного сервиса разрабатывается модуль LRU-кэширования (Least Recently Used) фиксированной емкости . Кэш хранит пары и обрабатывает поток команд: 1. PUT key value — записать значение value по ключу key. Если ключ уже существует, обновить его значение. Если емкость исчерпана, предварительно удалить элемент, к которому обращались дольше всего (LRU). 2. GET key — запросить значение по ключу key. Если ключ присутствует в кэше, вернуть его значение и пометить ключ как самый свежий. Если ключ отсутствует, вернуть -1. Входные данные - В первой строке задано целое число () — максимальная емкость кэша. - В последующих строках содержатся операции в формате PUT key value или GET key () до конца входных данных. Выходные данные Для каждой операции GET выведите возвращенное значение в отдельной строке. --- Примеры Пример 1 Входные данные: text 2 PUT 1 1 PUT 2 2 GET 1 PUT 3 3 GET 2 PUT 4 4 GET 1 GET 3 GET 4 Выходные данные: text 1 -1 -1 3 4
Медиана двух хроник
С двух независимых космических зондов получены отсортированные по неубыванию массивы временных меток длины и длины . Необходимо вычислить медиану объединённого отсортированного массива за асимптотическое время . Медиана объединённого массива длины : - Если нечётно, медиана равна центральному элементу с индексом . - Если чётно, медиана равна среднему арифметическому двух центральных элементов. Входные данные - Первая строка содержит целое число () — размер массива . - Вторая строка содержит целых чисел (). Если , строка пустая. - Третья строка содержит целое число (, ) — размер массива . - Четвёртая строка содержит целых чисел (). Выходные данные Выведите одно число — медиану с точностью не менее 5 знаков после запятой (например, 2.00000 или 2.50000). --- Примеры Пример 1 Входные данные: text 2 1 3 1 2 Выходные данные: text 2.00000 Примечание: Объединённый массив , медиана . Пример 2 Входные данные: text 2 1 2 2 3 4 Выходные данные: text 2.50000 Примечание: Объединённый массив , медиана .
Слияние временных окон
Орбитальный комплекс ведёт мониторинг гравитационных аномалий. За время дежурства было зафиксировано интервалов активности. Каждый интервал задаётся парой чисел — моментом начала и окончания аномалии. Если два или более интервала пересекаются или соприкасаются (т.е. при ), они объединяются в единое непрерывное окно наблюдения. Найдите минимальный набор непересекающихся интервалов, полностью покрывающих все зафиксированные аномалии. Входные данные - В первой строке задано целое число () — количество интервалов. - В следующих строках заданы по два целых числа и () — границы интервалов. Выходные данные Выведите итоговые объединенные интервалы по одному в строке, упорядоченные по возрастанию времени начала. В каждой строке выведите два числа — левую и правую границу через пробел. --- Примеры Пример 1 Входные данные: text 4 1 3 2 6 8 10 15 18 Выходные данные: text 1 6 8 10 15 18 Примечание: Интервалы и перекрываются и объединяются в . Пример 2 Входные данные: text 2 1 4 4 5 Выходные данные: text 1 5
Нарушения порядка
Посчитайте индексы i от 2 до n, для которых a[i] меньше предыдущего элемента. Входные данные В первой строке n. Во второй — n целых чисел a[i]. Выходные данные Количество соседних нарушений. Ограничения 1 ≤ n ≤ 100000; −10^9 ≤ a[i] ≤ 10^9. Пример 1 Ввод: text 5 3 2 2 1 4 Вывод: text 2 Пример 2 Ввод: text 1 7 Вывод: text 0
Минимальный разрыв
Найдите минимальную разность двух различных позиций после сортировки значений. Входные данные В первой строке n. Во второй — n целых чисел a[i]. Выходные данные Минимальная абсолютная разность. Ограничения 2 ≤ n ≤ 100000; −10^9 ≤ a[i] ≤ 10^9. Пример 1 Ввод: text 4 10 3 8 1 Вывод: text 2 Пример 2 Ввод: text 2 -9 9 Вывод: text 18
Сумма за один проход
Найдите сумму массива за один проход. Входные данные В первой строке n. Во второй — n целых чисел a[i]. Выходные данные Сумма всех элементов. Ограничения 1 ≤ n ≤ 100000; −10^9 ≤ a[i] ≤ 10^9. Пример 1 Ввод: text 4 1 2 -3 5 Вывод: text 5 Пример 2 Ввод: text 1 -7 Вывод: text -7
Индекс равновесия
Найдите первый индекс, для которого сумма элементов слева равна сумме справа. Сам элемент не входит в суммы. Входные данные В первой строке n. Во второй — n целых чисел a[i]. Выходные данные Индекс с 1 или −1, если такого нет. Ограничения 1 ≤ n ≤ 100000; −10^9 ≤ a[i] ≤ 10^9. Пример 1 Ввод: text 5 1 2 9 2 1 Вывод: text 3 Пример 2 Ввод: text 1 7 Вывод: text 1
Минимум лодок
В лодку помещается не более двух человек общей массы не выше c. Найдите минимум лодок. Масса каждого не превышает c. Входные данные В первой строке n. Во второй — n целых чисел a[i]. В третьей строке c. Выходные данные Минимальное число лодок. Ограничения 1 ≤ n ≤ 100000; 1 ≤ a[i] ≤ c ≤ 10^9. Пример 1 Ввод: text 4 3 2 2 1 3 Вывод: text 3 Пример 2 Ввод: text 1 5 5 Вывод: text 1
Покупки по бюджету
Купите максимум предметов, каждый не более одного раза, при бюджете b. Входные данные В первой строке n. Во второй — n целых чисел a[i]. В третьей строке b. Выходные данные Максимальное число покупок. Ограничения 1 ≤ n ≤ 100000; 1 ≤ a[i] ≤ 10^9; 0 ≤ b ≤ 10^14. Пример 1 Ввод: text 4 5 2 4 1 7 Вывод: text 3 Пример 2 Ввод: text 1 2 0 Вывод: text 0
Минимум коробок
В коробку помещается k предметов. Найдите минимальное число коробок для n предметов. Входные данные Числа n и k. Выходные данные Минимальное число коробок. Ограничения 0 ≤ n ≤ 10^12; 1 ≤ k ≤ 10^12. Пример 1 Ввод: text 10 3 Вывод: text 4 Пример 2 Ввод: text 0 7 Вывод: text 0
Ближайшие значения
Найдите минимальную абсолютную разность двух элементов на различных позициях. Входные данные В первой строке n. Во второй — n целых чисел a[i]. Выходные данные Минимальная разность. Ограничения 2 ≤ n ≤ 500; −10^9 ≤ a[i] ≤ 10^9. Пример 1 Ввод: text 3 1 10 4 Вывод: text 3 Пример 2 Ввод: text 2 -5 5 Вывод: text 10