結果

問題 No.5021 Addition Pyramid
ユーザー hirayuu_yc
提出日時 2025-02-24 10:04:20
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 50 ms / 2,000 ms
コード長 644 bytes
コンパイル時間 823 ms
コンパイル使用メモリ 82,964 KB
実行使用メモリ 63,992 KB
スコア 169,148,072
最終ジャッジ日時 2025-02-25 19:32:10
合計ジャッジ時間 4,643 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD=10**8
N=int(input())
c=[list(map(int,input().split())) for i in range(N)]
fir=c[0][:]
for i in range(1,N):
    mids=[]
    na=0
    out=(c[i][0]+MOD//2)%MOD
    mids.append(out)
    for j in range(i):
        na=fir[j]-na
        out=(c[i][j+1]+MOD//2)%MOD
        if j%2==0:
            mids.append((na-out)%MOD)
        else:
            mids.append((out-na)%MOD)
    mids.sort()
    mids.append(mids[0]+MOD)
    mw=(-1,0)
    for j in range(i+1):
        mw=max(mw,(mids[j+1]-mids[j],j))
    st=((mids[mw[1]]+mids[mw[1]+1])//2)%MOD
    bfir=fir[:]
    fir=[st]
    for j in range(i):
        fir.append((bfir[j]-fir[-1])%MOD)
print(*fir)
0