結果
| 問題 |
No.78 クジ付きアイスバー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-03-15 19:27:12 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 30 ms / 5,000 ms |
| コード長 | 782 bytes |
| コンパイル時間 | 86 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 10,752 KB |
| 最終ジャッジ日時 | 2024-07-04 01:21:55 |
| 合計ジャッジ時間 | 2,640 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 35 |
ソースコード
N, K = [int(i) for i in input().split()]
S = list(input())
# 一箱目
atari = 0
buy = 0
first_box_cnt = []
for ice in S:
if atari > 0:
atari -= 1
else:
buy += 1
if ice == '1':
atari += 1
elif ice == '2':
atari += 2
first_box_cnt.append(buy)
# 二箱目
buy = 0
second_box_cnt = []
for ice in S:
if atari > 0:
atari -= 1
else:
buy += 1
if ice == '1':
atari += 1
elif ice == '2':
atari += 2
second_box_cnt.append(buy)
# Kの大きさで場合分け
if K <= N:
print(first_box_cnt[K-1])
elif N < K:
box_cnt = K // N
res = first_box_cnt[-1]
res += second_box_cnt[-1] * (box_cnt - 1)
if K % N != 0:
res += second_box_cnt[(K % N) - 1]
print(res)