AtCoder Beginner Contest 207 C - Many Segments【Python】

https://atcoder.jp/contests/abc207/tasks/abc207_c

AtCoder ProblemsのRecommendationで Difficulty: 397、Solve Probability: 48%でした。

なんとか解けましたが0.5を加減するところを1にしてしまい少しつまりました。
また、ソートを使いましたが公式解説によればmax(a, c) <= min(b, d)とすれば良いためその必要はなかったようです。

https://atcoder.jp/contests/abc207/editorial/2152

N = int(input())

LR = []
for i in range(N):
    t, l, r = map(int, input().split())
    # 0.5を加減してtによらず判定できるようにする
    if t == 1:
        pass
    elif t == 2:
        r -= 0.5
    elif t == 3:
        l += 0.5
    elif t == 4:
        l += 0.5
        r -= 0.5
        
    LR.append([l, r])

LR = sorted(LR)
ans = 0
for i in range(N):
    for j in range(i+1, N):
        il, ir = LR[i]
        jl, jr = LR[j]
        
        if il <= jl <= ir:
            ans += 1

print(ans)