Schnittmenge von Intervallen in Vektoren

Rust Medium vectors

Aufgabe «Schnittmenge von Intervallen in Vektoren»

Gegeben sind zwei Vektoren, die disjunkte und aufsteigend sortierte Intervalle enthalten. Jedes Intervall wird durch ein Paar ganzer Zahlen [start, end] (inklusive) dargestellt. Die Schnittmenge dieser beiden Intervallmengen soll ermittelt werden. Das Ergebnis muss als Vektor von aufsteigend sortierten Intervallen dargestellt werden. Falls es keine Schnittmenge gibt, wird ein leerer Vektor ausgegeben. Es ist garantiert, dass die Eingabeintervalle innerhalb jedes Vektors nicht überlappen.

Eingabeformat

In der ersten Zeile eine ganze Zahl n — die Anzahl der Intervalle im ersten Vektor. Danach n Zeilen, jede enthält zwei ganze Zahlen start und end, getrennt durch ein Leerzeichen. Danach eine ganze Zahl m — die Anzahl der Intervalle im zweiten Vektor. Danach m Zeilen mit Intervallen.

Ausgabeformat

In der ersten Zeile eine ganze Zahl k — die Anzahl der Intervalle in der Schnittmenge. Danach k Zeilen, jede mit zwei Zahlen — start und end, getrennt durch ein Leerzeichen.

Beispiele

Beispiel 1

EINGABE
1 4 7 1 8 10
AUSGABE
0

Beispiel 2

EINGABE
bbbbb
AUSGABE
1

Beispiel 3

EINGABE
3 1 2 3
AUSGABE
0
main.rs