?>
Оперативная память компьютера состоит из N ячеек, занумерованных числами от 0 до N-1. В текущий момент времени в памяти находятся M задач, каждая из которых использует свой участок памяти. Участки разных задач не пересекаются. Известны начальные и конечные адреса каждого участка для каждой задачи. Найдите длину, а также начало и конец самого длинного сплошного участка памяти, свободного в данный момент времени от задач. Если таких участков несколько, то выведите концы участка с самыми большими номерами (самого правого участка Формат ввода В первой строке записано одно целое число N — количество ячеек оперативной (1 ≤ N ≤ 2·109). Во второй строке записано одно целое число M — количество задач, находящихся в памяти компьютера (0 ≤ M ≤ 15 000). В каждой из следующих 2·M строк записаны номера начального адреса (в нечетных строках) и номера конечного адреса (в четных строках) участка памяти для каждой задачи. Гарантируется, что начальный адрес не больше конечного. Формат вывода В первой строке целое число — длину самого длинного сплошного участка памяти, свободного от данных. Два целых числа через пробел — начальный и конечный адрес самого длинного сплошного участка памяти, свободного от задач. Если вся память заполнена, то выведите единственное число 0. Пример 1 Ввод Вывод 15 4 0 2 5 6 10 10 11 14 3 7 9 Пример 2 Ввод Вывод 13 2 0 0 6 7 5 8 12 Пример 3 Ввод Вывод 5 1 0 4 0 Примечания В первом примере свободными являются участки [3;4] и [7;9]. Максимальную длину 3 из них имеет [7;9]. Во втором примере свободными являются участки [1;5] и [8;12]. Они имеют одинаковую длину 5. Самый правый из них [8;12]. В третьем примере вся память заполнена.
Ответы
Объяснение:
Компилятор (цомпілер; цомпілінг программ — компиляциялаушы программа) — 1) жоғарғы деңгейлі программалау тілінде жазылған алғашқы программаны машиналық тілге (алгоритмдік тілдер, түсіндіргіш, аударғыш) түрлендіруді орындайтын компьютердің жалпы математикалық жасақтамасының құрамды бөлігі. Компилятор екі бөліктен тұрады: бірінші бөлігі — программалаушының программаны жазуы үшін пайдаланылатын алғашқы тіл, екіншісі — объектілік программаны машиналық тілде жазатын аударғыш. Қандай да бір жоғары деңгейлі тіл үшін к.