結果

問題 No.853 河原の石
ユーザー gew1fw
提出日時 2025-06-12 12:57:03
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 802 bytes
コンパイル時間 324 ms
コンパイル使用メモリ 82,596 KB
実行使用メモリ 60,744 KB
最終ジャッジ日時 2025-06-12 13:03:23
合計ジャッジ時間 4,980 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 4 WA * 53
権限があれば一括ダウンロードができます

ソースコード

diff #

import math

def compute_sum_floor(m, k):
    if m == 0:
        return 0
    res = 0
    v_max = int(math.isqrt(m))
    # Handle v from 1 to v_max
    for v in range(1, v_max + 1):
        s_start = m // (v + 1) + 1
        s_end = m // v
        s_end = min(s_end, k)
        if s_start > s_end:
            continue
        res += v * (s_end - s_start + 1)
    # Handle s from 1 to min(v_max, k)
    s_max = min(v_max, k)
    for s in range(1, s_max + 1):
        v = m // s
        if v > v_max:
            res += v
    return res

H, W = map(int, input().split())

if H == 0 or W == 0:
    print(0)
else:
    d = abs(W)
    cnt = max(0, H - d + 1)
    k = min(H, d - 1)
    m = d - 1
    sum_floor = compute_sum_floor(m, k)
    sum_ceil = k + sum_floor
    total = cnt + sum_ceil
    print(total)
0