AtCoder ABC 112 B – Time Limit Exceeded Python解説
Time Limit Exceeded
外出している X さんは、ABC に参加するためにスマートウォッチで最適な帰宅経路を調べることにしました。
スマートウォッチであるあなたは、N 個の帰宅経路を見つけました。
X さんが i 番目の経路を使う場合、コスト ci かけて時間 ti で帰宅できます。時間 T 以内に帰宅できる経路のうち、コストが最小となる経路のコストを求めてください。
AtCoder Beginner Contest 「Time Limit Exceeded」
与えられる帰宅経路が時間T以内かどうか、できなければTLEを出力。
時間T以内に帰宅できるのなら、コストが最小の経路を求める問題です。
N, T = map(int, input().split())
cost = 1001
flag = False
for _ in range(N):
c, t = map(int, input().split())
if t <= T:
flag = True
cost = min(cost, c)
print(cost if flag else "TLE")
まず、時間T以内に帰宅できる経路があるのかチェックしたいのでflagを使うことにしました。
for文の中でコストと帰宅経路を受け取り、時間T以内だったらflagをTrueにし、最小コストになるかどうかmin関数で比較しています。
最後に時間T以内に帰宅できる経路があれば最小コストを、なければTLEを出力して完了です。