問題
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()