結果

問題 No.3677 Global Checksum
コンテスト
ユーザー harurun
提出日時 2026-08-11 04:36:07
言語 PyPy3
(7.3.23)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
TLE  
実行時間 -
コード長 947 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 254 ms
コンパイル使用メモリ 95,696 KB
実行使用メモリ 208,384 KB
最終ジャッジ日時 2026-09-04 22:19:09
合計ジャッジ時間 10,025 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12 TLE * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys

def main():
    rd = sys.stdin.buffer
    H, W = map(int, rd.readline().split())
    data = rd.read()

    MASK = 0xFFFFFFFF

    S = [0] * H

    r = 0
    num = 0
    row_sum = 0
    total = 0

    for c in data:
        if c >= 48:
            num = num * 10 + c - 48
        elif c == 10:
            row_sum += num

            S[r] = row_sum
            total += row_sum

            r += 1
            num = 0
            row_sum = 0
        else:
            row_sum += num
            num = 0

    if r < H:
        row_sum += num
        S[r] = row_sum
        total += row_sum

    T = total & MASK

    # S をそのまま答えに書き換える
    i = 0
    while i < H:
        S[i] = (S[i] + T) & MASK
        i += 1

    # PyPy内部の高速な list repr に整数→文字列変換を任せる
    out = repr(S)

    # "[123, 456, 789]" -> "123\n456\n789"
    sys.stdout.write(out[1:-1].replace(', ', '\n'))

main()
0