結果

問題 No.2601 Very Poor
ユーザー pitP
提出日時 2024-01-12 21:40:21
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 474 bytes
コンパイル時間 294 ms
コンパイル使用メモリ 82,384 KB
実行使用メモリ 110,196 KB
最終ジャッジ日時 2024-09-27 21:37:42
合計ジャッジ時間 5,233 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16 WA * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

N, X = map(int, input().split())
A = list(map(int, input().split()))
if sum(A) < X:
    exit(print(sum(A)))
if min(A) > X:
    exit(print(0))

acc = [0] * (2 * N + 1)
for i in range(2 * N):
    acc[i + 1] = acc[i] + A[i % N]

ans = 0
for i in range(N):
    ok = i; ng = i + N + 1
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if acc[mid] - acc[i] < X:
            ok = mid
        else:
            ng = mid
    ans = max(ans, acc[ok] - acc[i])
print(ans)
0