あなたはアイスクリームの製造工場で棒アイスを製造しています。棒アイスは 1 日に N 本製造されます。
それぞれのアイスの棒には「あたり」か「はずれ」という文字が刻印されています。しかし、「はずれ」が連続しすぎると顧客が不満を抱きます。そこで、製造ラインでアイスの棒を先頭から見ていったときに、M 回連続で「はずれ」が刻印されている箇所がないか検査することになりました。
たとえば入力例 1 の場合、1 日に 5 本の棒アイスが製造されます。3 回連続で「はずれ」が刻印されている箇所はありません。

評価ポイント10回のテストケースで、正答率、実行速度、メモリ消費量をはかり得点が決まります。
より早い解答時間で提出したほうが得点が高くなります。
より早い解答時間で提出したほうが得点が高くなります。
- 複数のテストケースで正しい出力がされるか評価(+50点)
- 解答までの速さ評価(+50点)
入力される値
それぞれの値は文字列で標準入力から渡されます。標準入力からの値取得方法はこちらをご確認ください
入力は以下のフォーマットで与えられます。
N M
a_1 a_2 ... a_N
- ・1 行目に、棒アイスの個数を表す整数 N と、検査する区間の大きさを表す整数 M がスペース区切りで与えられます。
- ・2 行目に、i 番目 (1 ≦ i ≦ N) のアイスの棒に刻印されている文字の情報を表す N 個の整数 a_i が半角スペース区切りで与えられます。a_i = 0 のとき、i 番目のアイスの棒に「はずれ」が刻印されていることを表します。a_i = 1 のとき、i 番目のアイスの棒に「あたり」が刻印されていることを表します。
- ・入力は合計で 2 行となり、2 行目の末尾に改行が 1 つ入ります。
それぞれの値は文字列で標準入力から渡されます。標準入力からの値取得方法はこちらをご確認ください
期待する出力M 回連続で「はずれ」が刻印されている箇所がない場合 「OK」 と、そうでない場合 「NG」 と出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
条件
すべてのテストケースにおいて、以下の条件をみたします。
- ・1 ≦ N ≦ 100
- ・1 ≦ M ≦ N
- ・a_i = 0 または a_i = 1 (1 ≦ i ≦ N)
入力例1
5 3
1 0 1 1 1
出力例1
OK
入力例2
6 3
1 0 0 0 0 1
出力例2
NG
0
および
区間(くかん)
箇所(かしょ)부분 @각인된 부분이 있는지 @장소
不満を抱きます
刻印(こくいん)각인
文字
はずれ あたり
棒アイス
製造
# 5 3
# 1 0 1 1 1
a,b=map(int, input().split())
# print(a,b)
lo_list=list(map(int,input().split()))
# print(lo_list)
flag=True
for i in range(a-b+1):
if sum(lo_list[i:i+b])==0:
print("NG")
flag=False
break
if flag:
print("OK")
# print(lo_list[1:1+b])
'Programming > Algorithm' 카테고리의 다른 글
C059:パリティチェック (0) | 2024.04.24 |
---|---|
C079:カードを集める (0) | 2024.04.23 |
C148:戦闘シミュレーション (0) | 2024.04.20 |
C034:先生の宿題 (0) | 2024.04.09 |
C135:商品の割引 (0) | 2024.04.07 |