AtCoder上にある問題のうち、AtCoder Problemsでdiff 800以上と判定されているものを順番に解いていく企画。
基本的な考え方は全てコード中のコメントに入れてあるので、参照のこと。
出典:
AtCoder Beginner Contest 005 C – おいしいたこ焼きの売り方
客を一秒でも待たせたら負け……というあたりに、高橋君のたこ焼きに掛ける並々ならぬ情熱が垣間見える問題。
問題そのものは、与えられたデータが条件を満たすかどうか確認するだけなので、素直にそのまま実装すればいい。
def main():
T = int(input())
N = int(input())
takoyakis = list(map(int, input().split()))
M = int(input())
customers = list(map(int, input().split()))
tkyk_idx = 0
for c in customers:
if tkyk_idx >= len(takoyakis):
print('no')
return
if takoyakis[tkyk_idx] > c:
print('no')
return
while c - takoyakis[tkyk_idx] > T:
tkyk_idx += 1
if tkyk_idx >= len(takoyakis):
print('no')
return
tkyk_idx += 1
print('yes')
main()
関連