Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.36 KB

File metadata and controls

64 lines (49 loc) · 2.36 KB

K. Пересечение отрезков

Вам даны две последовательности отрезков. Каждый отрезок задаётся координатой начала и конца — [starti, endi].

Отрезки каждой последовательности отсортированы слева направо и не имеют общих точек. Найдите пересечение двух последовательностей отрезков. То есть третью последовательность отрезков, такую, что:

  1. Каждый отрезок содержится в некотором отрезке и первой, и второй последовательности;
  2. Никакой отрезок нельзя увеличить;
  3. Отрезки этой последовательности не имеют общих точек;
  4. Отрезки в последовательности также отсортированы в порядке возрастания.

Формат ввода

В первой строке дано число отрезков в первой последовательности n (0 ≤ n ≤ 100000) В следующих n строках даны отрезки первой последовательности по одному на строке.

Каждый отрезок записан в формате starti endi, координаты начала и конца целые неотрицательные числа, не превосходящие по модулю 109.

Формат вывода

Выведите по одному в строке отсортированные отрезки из пересечения последовательностей в том же формате, что и во входных данных. Заметьте, что длина отрезков в пересечении может быть нулевой, в этом случае starti = endi.

Пример 1

3
1 4
5 10
15 16
2
0 2
4 5
1 2
4 4
5 5




Пример 2

1
1 4
1
1 4
1 4