Каталог задач

Найдено задач: 55Страница 1 из 5
#01
Лёгкая

Поиск парных маяков

В исследовательской экспедиции на неизведанной планете установлена цепь из nn энергетических маяков, каждый из которых излучает сигнал мощности aiai. Для активации защитного портала исследователю необходимо выбрать два различных маяка, суммарная мощность которых в точности равна целевому значению kk. Гарантируется, что среди всех маяков существует ровно одна подходящая пара. Помогите экспедиции найти 0-индексированные позиции (индексы) этих двух маяков в порядке возрастания. Входные данные - В первой строке задано целое число nn (2≤n≤1052 \le n \le 10^5) — количество маяков. - Во второй строке заданы nn целых чисел a0,a1,…,an−1a0, a1, \dots, a{n-1} (−109≤ai≤109-10^9 \le ai \le 10^9) — мощности маяков. - В третьей строке задано целое число kk (−2⋅109≤k≤2⋅109-2 \cdot 10^9 \le k \le 2 \cdot 10^9) — требуемая суммарная мощность. Выходные данные Выведите два целых числа через пробел — 0-индексированные позиции двух маяков в порядке возрастания. --- Примеры Пример 1 Входные данные: text 4 2 7 11 15 9 Выходные данные: text 0 1 Примечание: Элементы на позициях 0 и 1 равны 2 и 7, 2+7=92 + 7 = 9. Пример 2 Входные данные: text 3 3 2 4 6 Выходные данные: text 1 2 Примечание: Элементы на позициях 1 и 2 равны 2 и 4, 2+4=62 + 4 = 6.

МассивыХеш-таблица+1
Решить
#02
Средняя

Оптимизация LRU-буфера

В ядре высоконагруженного сервиса разрабатывается модуль LRU-кэширования (Least Recently Used) фиксированной емкости CC. Кэш хранит пары (key,value)(key, value) и обрабатывает поток команд: 1. PUT key value — записать значение value по ключу key. Если ключ уже существует, обновить его значение. Если емкость CC исчерпана, предварительно удалить элемент, к которому обращались дольше всего (LRU). 2. GET key — запросить значение по ключу key. Если ключ присутствует в кэше, вернуть его значение и пометить ключ как самый свежий. Если ключ отсутствует, вернуть -1. Входные данные - В первой строке задано целое число CC (1≤C≤1041 \le C \le 10^4) — максимальная емкость кэша. - В последующих строках содержатся операции в формате PUT key value или GET key (1≤key,value≤1091 \le key, value \le 10^9) до конца входных данных. Выходные данные Для каждой операции 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

Хеш-таблицаСвязный список+1
Решить
#03
Сложная

Медиана двух хроник

С двух независимых космических зондов получены отсортированные по неубыванию массивы временных меток AA длины nn и BB длины mm. Необходимо вычислить медиану объединённого отсортированного массива за асимптотическое время O(log⁡(min⁡(n,m)))O(\log(\min(n, m))). Медиана объединённого массива длины K=n+mK = n + m: - Если KK нечётно, медиана равна центральному элементу с индексом ⌊K/2⌋\lfloor K/2 \rfloor. - Если KK чётно, медиана равна среднему арифметическому двух центральных элементов. Входные данные - Первая строка содержит целое число nn (0≤n≤1050 \le n \le 10^5) — размер массива AA. - Вторая строка содержит nn целых чисел A1,A2,…,AnA1, A2, \dots, An (−109≤Ai≤109-10^9 \le Ai \le 10^9). Если n=0n = 0, строка пустая. - Третья строка содержит целое число mm (0≤m≤1050 \le m \le 10^5, n+m≥1n + m \ge 1) — размер массива BB. - Четвёртая строка содержит mm целых чисел B1,B2,…,BmB1, B2, \dots, Bm (−109≤Bi≤109-10^9 \le Bi \le 10^9). Выходные данные Выведите одно число — медиану с точностью не менее 5 знаков после запятой (например, 2.00000 или 2.50000). --- Примеры Пример 1 Входные данные: text 2 1 3 1 2 Выходные данные: text 2.00000 Примечание: Объединённый массив [1,2,3][1, 2, 3], медиана 2.02.0. Пример 2 Входные данные: text 2 1 2 2 3 4 Выходные данные: text 2.50000 Примечание: Объединённый массив [1,2,3,4][1, 2, 3, 4], медиана (2+3)/2=2.5(2 + 3) / 2 = 2.5.

Бинарный поискМассивы+1
Решить
#04
Средняя

Слияние временных окон

Орбитальный комплекс ведёт мониторинг гравитационных аномалий. За время дежурства было зафиксировано nn интервалов активности. Каждый интервал задаётся парой чисел [li,ri][li, ri] — моментом начала и окончания аномалии. Если два или более интервала пересекаются или соприкасаются (т.е. ri≥ljri \ge lj при li≤ljli \le lj), они объединяются в единое непрерывное окно наблюдения. Найдите минимальный набор непересекающихся интервалов, полностью покрывающих все зафиксированные аномалии. Входные данные - В первой строке задано целое число nn (1≤n≤1051 \le n \le 10^5) — количество интервалов. - В следующих nn строках заданы по два целых числа lili и riri (0≤li≤ri≤1090 \le li \le ri \le 10^9) — границы интервалов. Выходные данные Выведите итоговые объединенные интервалы по одному в строке, упорядоченные по возрастанию времени начала. В каждой строке выведите два числа — левую и правую границу через пробел. --- Примеры Пример 1 Входные данные: text 4 1 3 2 6 8 10 15 18 Выходные данные: text 1 6 8 10 15 18 Примечание: Интервалы [1,3][1, 3] и [2,6][2, 6] перекрываются и объединяются в [1,6][1, 6]. Пример 2 Входные данные: text 2 1 4 4 5 Выходные данные: text 1 5

МассивыСортировка+1
Решить
#05
Лёгкая

Нарушения порядка

Посчитайте индексы 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

Линейный проход
Решить
#06
Средняя

Минимальный разрыв

Найдите минимальную разность двух различных позиций после сортировки значений. Входные данные В первой строке 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

Сортировка
Решить
#07
Лёгкая

Сумма за один проход

Найдите сумму массива за один проход. Входные данные В первой строке 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

Линейный проход
Решить
#08
Средняя

Индекс равновесия

Найдите первый индекс, для которого сумма элементов слева равна сумме справа. Сам элемент не входит в суммы. Входные данные В первой строке 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

Префиксные суммы
Решить
#09
Средняя

Минимум лодок

В лодку помещается не более двух человек общей массы не выше 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

Жадные алгоритмы
Решить
#10
Средняя

Покупки по бюджету

Купите максимум предметов, каждый не более одного раза, при бюджете 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

Жадные алгоритмы
Решить
#11
Лёгкая

Минимум коробок

В коробку помещается k предметов. Найдите минимальное число коробок для n предметов. Входные данные Числа n и k. Выходные данные Минимальное число коробок. Ограничения 0 ≤ n ≤ 10^12; 1 ≤ k ≤ 10^12. Пример 1 Ввод: text 10 3 Вывод: text 4 Пример 2 Ввод: text 0 7 Вывод: text 0

Числа
Решить
#12
Лёгкая

Ближайшие значения

Найдите минимальную абсолютную разность двух элементов на различных позициях. Входные данные В первой строке 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

Перебор
Решить