даня7345985
08.12.2020 19:31

Слияние отрезков
Даны два отсортированных массива A, B. Нужно обработать запросы следующего вида:

1 l r - Удалить подотрезок A[l, r], добавить его в конец B, и затем отсортировать B.

2 l r - Удалить подотрезок B[l, r], добавить его в конец A, и затем отсортировать A.

Необходимо вывести получившиеся массивы A, B.

Формат входных данных
Первая строка ввода содержит одно целое число N (0 ≤ N ≤ 5*105) - размер массива A.

Вторая строка содержит N целых чисел ai (1 ≤ a1 ≤ a2 ≤ ... ≤ an ≤ 109) - содержимое массива A.

Третья строка ввода содержит одно целое число M (0 ≤ M ≤ 5*105) - размер массива B.

Четвёртая строка содержит M целых чисел bi (1 ≤ b1 ≤ b2 ≤ ... ≤ bm ≤ 109) - содержимое массива B.

Пятая строка ввода содержит одно целое число Q (1 ≤ Q ≤ 9*105) - число запросов.

Следующие Q строк содержат по три целых числа t, l, r (t равно 1 или 2, 1 ≤ l ≤ r) - описание очередного запроса.

Гарантируется, что все запросы корректны, то есть при t = 1 всегда существует A[l, r] и при t = 2 всегда существует B[l, r].

Формат результата
В первой строке вывода должно быть одно целое число N' - итоговый размер массива A.

Во второй строке вывода должны быть N' целых чисел - содержимое итогового массива A.

В третьей строке вывода должно быть одно целое число M' - итоговый размер массива B.

В четвёртой строке вывода должны быть M' целых чисел- содержимое итогового массива B.

Примеры
Входные данные
4
1 3 5 7
5
2 4 6 7 8
5
1 1 1
2 2 4
2 1 3
1 1 7
2 2 5
Результат работы
6
2 3 4 5 7 8
3
1 6 7
Входные данные
1
1
0

1
1 1 1
Результат работы
0

1
1
Примечания
Рассмотрим первый пример из условия:
После первого запроса A = [3, 5, 7], B = [1, 2, 4, 6, 7, 8];
После второго запроса A = [2, 3, 4, 5, 6, 7], B = [1, 7, 8];
После третьего запроса A = [1, 2, 3, 4, 5, 6, 7, 7, 8], B = [];
После четвёртого запроса A = [7, 8], B = [1, 2, 3, 4, 5, 6, 7];
После пятого запроса A = [2, 3, 4, 5, 7, 8], B = [1, 6, 7].

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ккк127
10.01.2023 02:56

program jfe3;

const n=10; {Это будет кол-во элементов массива}

var a:array [1..n] of integer; i,s:integer;

begin

for i:=1 to n do begin

                            a[i]:=random(100);    {элемент выбирается случайно от 0 до 100}

                            s:=s+a[i];  {Когда эл. присвоился, его значение плюсуется к общ сумме}

                       end;

for i:=1 to n do

writeln(a[i],' ');    {показать сам массив}

writeln(s);   {показать сумму}

readln;  {чтобы окно сразу не закрывалось}

end.

 

Если есть вопросы по программе, пиши в личку. Если надо что-то еще - тоже =)

Удачи)

0,0(0 оценок)
Ответ:
ddolgiev1
19.02.2022 13:30

1.Я неуверен на 100% в 1 задаче.

Если весь текст состоит из К символов, то приалфавитном подходе размер содержащийся в ней информации I определяется по формуле:
I=K*x,
где х—информационный вес одного символа в используемом алфавите.

РЕШЕНИЕ:
Всего у нас 10 символов: 0,1,2,3,4,5,6,7,8,9.
I=K*x, 10*8=80 бит
80*80=6400 бит
ответ:6400 бит.

2.Пусть в некотором сообщении содержатся сведения о том, что произошло одно из N равновероятных событий. Тогда кол-во информации x, заключенное в этом сообщении, и число событий N связаны формулой:
2^х=N

РЕШЕНИЕ:
2^x=8
2^3=8
ответ: 3 бит.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота