АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

22. Частичная дефрагментация

Ограничение времени: 2 сек.
Ограничение памяти:65536 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Оперативная память компьютера имеет объём V байт, пронумерованных от 0 до V-1. Выделенные блоки памяти задаются последовательностью адресов (a1, b1), (a2, b2), ... (aN, bN). Блоки отсортированы по адресам и не перекрываются, т. е. 0 <= ai <= bi < ai + 1 < V. Операционная система пытается выделить память под ещё один блок объёмом M байт. Если свободное пространство такого размера отсутствует, она может попытаться переместить какой-нибудь один из блоков, чтобы освободить непрерывный участок нужной длины. Требуется выбрать для перемещения блок наименьшей длины. Если таких вариантов несколько, следует выбрать блок с наименьшим начальным адресом.

Ограничения: 0 <= N <= 100000, 1 <= V <= 1073741824

Исходные данные

Во входном файле расположены целые числа V N M. Далее идут N пар чисел ai bi.

Результат

Выходной файл должен содержать единственное целое число:
* номер блока, который нужно перемещать;
* 0, если блоки перемещать не нужно (непрерывный участок нужного объёма есть сразу);
* -1, если решения нет (пространство нужного объёма освободить не удаётся).

Пример

Исходные данныеРезультат
10 2 4
1 5 7 7
2

Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Тренировки ВоГУ / Первая командная /
21. B - ASCII в кубе 22. 23. D - Муравей и дерево 24. E - Однострочный редактор 25. F - Забор в парке
 
время генерации 0.094 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.