結果

問題 No.3677 Global Checksum
コンテスト
ユーザー harurun
提出日時 2026-08-10 11:48:48
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
TLE  
実行時間 -
コード長 998 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 227 ms
コンパイル使用メモリ 96,084 KB
実行使用メモリ 208,356 KB
最終ジャッジ日時 2026-09-05 13:49:53
合計ジャッジ時間 11,252 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 17 TLE * 3
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
import gc
from __pypy__ import builders

gc.disable()

def main():
    rd = sys.stdin.buffer
    write = sys.stdout.write

    H, W = map(int, rd.readline().split())
    data = rd.read()

    S = [0] * H

    r = 0
    num = 0
    row = 0
    total = 0

    for c in data:
        if c > 32:
            num = num * 10 + c - 48
        else:
            row += num
            num = 0

            if c == 10:
                S[r] = row
                total += row
                r += 1
                row = 0

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

    T = total & 0xFFFFFFFF

    # StringBuilder(size) はこの PyPy では内部で 3*size を確保する
    # 1行最大10桁+'\n'なので H*4 -> 内部約12Hで足りる
    out = builders.StringBuilder(H * 4)
    append = out.append
    to_str = str
    MASK = 0xFFFFFFFF
    nl = '\n'

    for s in S:
        append(to_str((s + T) & MASK))
        append(nl)

    write(out.build())

main()
0