В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Маруся200117
Маруся200117
26.11.2020 13:37 •  Информатика

Слияние отрезков
Даны два отсортированных массива 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].

Показать ответ
Ответ:
KennyPro
KennyPro
05.04.2022 09:34

const N = 10;  

var a, i, count, z: integer; s:string;  

suc: array[1..N] of integer;  

begin

 Randomize();

 count := 0;  

 z := 1;

 for i := 1 to N do begin

   a := random(10, 50);

   Str(a, s); if s[2] = '4' then begin count += 1; suc[z] := a; z += 1; end;

 end;

 if count > 0 then begin for i := 1 to z-1 do begin writeln('Выиграшное число: ', suc[i]); end;  

 Writeln('Всего выиграшных билетов: ', count, ' из ', N); end  

 else Writeln('Нет ни одного выиграшного билета');

end.

Объяснение:

0,0(0 оценок)
Ответ:
яналапа
яналапа
07.02.2021 17:07

Как-то так, наверное

Объяснение:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   double a, x, b, c, D;

   

   cout<<"Введите a: "; cin >> a;

   cout<<"Введите b: "; cin >> b;

   cout<<"Введите c: "; cin >> c;

   

   D = pow(b,2)-4*a*c;

   if(D>0){

   cout << "x1 = " << ((-1)*b+sqrt(D))/(2*a)<<endl;

   cout << "x2 = " <<((-1)*b-sqrt(D))/(2*a)<<endl;

   }

   else if(D==0){

       cout << "x = " << ((-1)*b)/(2*a)<<endl;

   }

   else{

    D*=(-1);

    cout<< "x1 = " << ((-1)*b)/(2*a) <<"+"<< (sqrt(D))/(2*a) << "*i" <<endl;

    cout<< "x2 = " << ((-1)*b)/(2*a) <<"-"<< (sqrt(D))/(2*a) << "*i" <<endl;

   }

   return 0;

}

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