Interseção de intervalos em vetores

Rust Medium vectors

Tarefa «Interseção de intervalos em vetores»

Dados dois vetores contendo intervalos não sobrepostos e ordenados em ordem crescente. Cada intervalo é representado por um par de números inteiros [start, end] (inclusive). É necessário encontrar a interseção desses dois conjuntos de intervalos. O resultado deve ser apresentado como um vetor de intervalos ordenados em ordem crescente. Se não houver interseções, imprimir um vetor vazio. É garantido que os intervalos de entrada não se sobrepõem dentro de cada vetor.

Formato de Entrada

Na primeira linha, o número inteiro n — quantidade de intervalos no primeiro vetor. Em seguida, n linhas, cada uma contendo dois números inteiros start e end separados por espaço. Depois, o número inteiro m — quantidade de intervalos no segundo vetor. Em seguida, m linhas com os intervalos.

Formato de Saída

Na primeira linha, o número inteiro k — quantidade de intervalos na interseção. Em seguida, k linhas, cada uma com dois números — start e end separados por espaço.

Exemplos

Exemplo 1

ENTRADA
1 4 7 1 8 10
SAÍDA
0

Exemplo 2

ENTRADA
bbbbb
SAÍDA
1

Exemplo 3

ENTRADA
3 1 2 3
SAÍDA
0
main.rs