問題
C – おいしいたこ焼きの売り方
回答
while, forループのelse
pythonには、for-elseという構文があり、 「ループ処理で探索をして見つけたらbreak、breakしなかったら見つからなかった」というケースでフラグ変数を使わずに書くことができます。
import sys # input処理を高速化する input = sys.stdin.readline def main(): # 何秒以内のたこ焼きまで売るか T = int(input()) # たこ焼きの総数 N = int(input()) # たこ焼きが何秒後にできるか lst_a = list(map(int, input().split())) # お客さんの人数 M = int(input()) # お客さんが何秒後に来るか lst_b = list(map(int, input().split())) if M > N: print('no') return for b in lst_b: for a in lst_a: if a <= b and b <= a + T: lst_a.remove(a) break else: print('no') break else: print('yes') main()