結果

問題 No.3715 Tomorrow is MONDAY!!!!!!
コンテスト
ユーザー titia
提出日時 2026-10-27 07:33:42
言語 Python3
(3.15.0 + numpy 2.5.4 + scipy 1.18.1 + ACL)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 567 ms / 2,000 ms
+ 878µs
コード長 800 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 51 ms
コンパイル使用メモリ 14,848 KB
実行使用メモリ 57,232 KB
最終ジャッジ日時 2026-10-27 07:34:15
合計ジャッジ時間 8,542 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge5_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
input = sys.stdin.readline

K,N=list(map(int,input().split()))
D=list(map(int,input().split()))

S=[0]
for d in D:
    S.append(S[-1]+d)

R=[0]*len(D)

for i in range(len(D)):
    R[i]=D[i]-1

LEFT=[0]*len(D)
RIGHT=[0]*len(D)

LEFT[0]=R[0]
for i in range(1,len(D)):
    LEFT[i]=LEFT[i-1]+R[i]

RIGHT[-1]=R[-1]
for i in range(len(D)-2,-1,-1):
    RIGHT[i]=RIGHT[i+1]+R[i]

#print(LEFT)
#print(RIGHT)

for i in range(K):
    ANS=1<<63
    
    x=S[i]
    c=x%N

    if c==0:
        xx=N
    else:
        xx=c

    if i-1>=0 and LEFT[i-1]>=xx:
        ANS=min(ANS,xx)

    x=S[i+1]
    c=x%N

    if c==0:
        xx=1
    elif c==1:
        xx=N
    else:
        xx=N+1-c

    if i+1<len(R) and RIGHT[i+1]>=xx:
        ANS=min(ANS,xx)

    if ANS>=(1<<63):
        ANS=-1

    print(ANS)
0