Voit olettaa, että $n$ ja $m$ ovat korkeintaan $10^5$ ja että kaikki luvut ovat korkeintaan $10^9$.
Toteuta tiedostoon
matching.py
funktio count
, joka kertoo montako paria voidaan korkeintaan muodostaa. Lista a
sisältää lukuvälit ja lista b
sisältää luvut.def count(a, b): # TODO if __name__ == "__main__": print(count([(4,6)], [1, 7])) # 0 print(count([(2,9), (1,8)], [5])) # 1 print(count([(1,5), (6,8)], [5, 2])) # 1 print(count([(6,6), (3,8), (2,5)], [4, 6, 5])) # 3 print(count([(4,7), (2,6), (8,9), (1,10)], [11, 3, 8, 2, 6])) # 4 print(count([(4,7), (2,6), (8,9), (5,7)], [11, 3, 8, 2, 6])) # 3Selitys: Neljännessä esimerkissä yksi mahdollinen tapa muodostaa kolme paria on liittää luku $4$ väliin $[2,5]$, luku $5$ väliin $[3,8]$ ja luku $6$ väliin $[6,6]$.