Есть ответ 👍

Оперативная память компьютера состоит из 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].

В третьем примере вся память заполнена.

202
360
Посмотреть ответы 1

Ответы на вопрос:


var m: array [1..12] of integer;

i: integer;

begin

       for i := 1 to 12 do

       begin

               m[i] := random(21) - 10;

               write(m[i]:4);

       end;

       writeln();

   

       write('Номери рядків всіх парних елементів:');

       for i := 1 to 12 do

       begin

               if m[i] mod 2 = 0 then

                       write(i:4);

       end;

end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS