1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| def merge(): global list2 list2.append(list1[0]) for i in range(1, len(list1)): first = list1[i] last = list2[-1] if first[0] <= last[1]: last[1] = max(last[1], first[1]) else: list2.append(first)
list1 = [] n = int(input()) #list1 = [[160, 180], [150, 200], [280, 300], [300, 330], [190, 210]] # - >[[150, 200], [160, 180], [190, 210], [280, 300], [300, 330]] for i in range(n): #a, b = list1[i][0], list1[i][1] list1.append(list(map(int, input().split()))) list1.sort(key = lambda x:x[0]) #print(list1) list2 = [] merge() ans = 0 for i in range(len(list2)): ans += list2[i][1] - list2[i][0] print(ans)
|