いむらや競プロ雑記

キーワード:競プロ、育児、石川県

ABC131 D - Megalomania / インデントに注意

atcoder.jp

まだ埋めてない茶diffを埋めようとしてて(AGCと古すぎるものは除外している…)、サクっと解いたつもりが、なぜかTLEが出てハマる。

以下なんだけど、パッと見て分かるだろうか??

def resolve():

  N=int(input())
  L=[]
  for i in range(N):
    a,b=map(int,input().split())
    L.append([a,b])

    L.sort(key = lambda x:x[1])

  Time=0
  for i in range(N):
    Time+=L[i][0]
    if Time > L[i][1]:
      print("No")
      return
  
  print("Yes")

自分は、何度読んでも原因が分からず、どっかに極端に遅い書き方しちゃってる?とか疑って、入力や配列の触り方など、延々と変えては実験を繰り返してしまった。当然、どれだけ改善を重ねてもTLE。

・・・

答えは、sortのインデントがおかしいので、sortしまくってました。

分かっていれば当たり前のミスなんだけど、焦っていると全然気づかない。本番でもやらかしそうだ。

下手に改行を入れない?タブ2つにする?入力系ブロックが終わったら、もっと極端に改行する?

何か習慣にした方がいいかもしれない。。。