Intersection d'intervalles dans des vecteurs

Rust Medium vectors

Tâche «Intersection d'intervalles dans des vecteurs»

Étant donnés deux vecteurs contenant des intervalles non chevauchants et triés par ordre croissant. Chaque intervalle est représenté par une paire d'entiers [start, end] (inclus). Il faut trouver l'intersection de ces deux ensembles d'intervalles. Le résultat doit être présenté sous forme d'un vecteur d'intervalles triés par ordre croissant. S'il n'y a pas d'intersection, afficher un vecteur vide. Il est garanti que les intervalles d'entrée ne se chevauchent pas à l'intérieur de chaque vecteur.

Format d\ entrée

Sur la première ligne, un entier n — le nombre d'intervalles dans le premier vecteur. Ensuite, n lignes, chacune contenant deux entiers start et end séparés par un espace. Puis un entier m — le nombre d'intervalles dans le deuxième vecteur. Ensuite, m lignes avec les intervalles.

Format de sortie

Sur la première ligne, un entier k — le nombre d'intervalles dans l'intersection. Ensuite, k lignes, chacune avec deux nombres — start et end séparés par un espace.

Exemples

Exemple 1

ENTRÉE
1 4 7 1 8 10
SORTIE
0

Exemple 2

ENTRÉE
bbbbb
SORTIE
1

Exemple 3

ENTRÉE
3 1 2 3
SORTIE
0
main.rs