Puoi leggere e provare a risolvere il problema visitando la piattaforma Terry.
Prendiamo ad esempio gli intervalli: , , . Prova a disegnare i tre intervalli su un foglio di carta:
1 2 3 4 5 6 7 8 9
[.......]
[...........]
[.........]
Si può vedere facilmente che quello che ci interessa trovare è l'intersezione dei tre intervalli, che in questo esempio risiede nell'intervallo .
Per trovare l'intersezione, dobbiamo considerare il massimo tra tutti gli estremi inferiori ed il minimo tra tutti gli estremi superiori.
Una volta calcolato l'intervallo cercato la soluzione è l'ampiezza di tale intervallo, ovvero la differenza tra l'estremo superiore e quello inferiore.
Essendo l'input di dimensione costante (6 numeri) ed essendo anche il calcolo necessario un'operazione costante (alcune operazioni di min / max, sottrazione...) la complessità risultante della soluzione è costante, ovvero: .
t = int(input())
for i in range(t):
input()
a1, a2 = map(int, input().split())
b1, b2 = map(int, input().split())
c1, c2 = map(int, input().split())
# Calcola l'intersezione "i"
i1, i2 = max(a1, b1, c1), min(a2, b2, c2)
print(f"Case {i + 1}: {i2 - i1}")