結果

問題 No.78 クジ付きアイスバー
ユーザー szkhts
提出日時 2025-02-02 08:24:48
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 39 ms / 5,000 ms
コード長 722 bytes
コンパイル時間 679 ms
コンパイル使用メモリ 12,288 KB
実行使用メモリ 10,624 KB
最終ジャッジ日時 2025-02-02 08:24:53
合計ジャッジ時間 4,196 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 35
権限があれば一括ダウンロードができます

ソースコード

diff #

N, K = map(int, input().split())
S = input()

hit = 0
for i in range(N):
    hit += int(S[i])
    
if hit >= N:
    rest = 0
    ans = 0
    for i in range(len(S)):
        if i >= K:
            break
        rest -= 1
        while rest < 0:
            rest += 1
            ans += 1
        rest += int(S[i])
    print(ans)
else:
    ans = K
    ans -= K // len(S) * hit
    for i in range(K % len(S)):
        ans -= int(S[i])
    waste = 0
    tmp = 0
    chg = 0
    for i in range(K - 1, -1, -1):
        if chg >= 100:
            break
        tmp += int(S[i % len(S)])
        if tmp > waste:
            waste = tmp
            chg = 0
        tmp -= 1
        chg += 1
    ans += waste
    print(ans)
        
0