結果

問題 No.2880 Max Sigma Mod
ユーザー ntudantuda
提出日時 2024-09-11 21:59:08
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 578 bytes
コンパイル時間 279 ms
コンパイル使用メモリ 82,424 KB
実行使用メモリ 78,824 KB
最終ジャッジ日時 2024-09-11 22:00:03
合計ジャッジ時間 19,799 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 41 ms
59,292 KB
testcase_01 AC 41 ms
60,432 KB
testcase_02 AC 47 ms
63,936 KB
testcase_03 AC 48 ms
66,100 KB
testcase_04 AC 45 ms
61,420 KB
testcase_05 TLE -
testcase_06 AC 2,422 ms
77,400 KB
testcase_07 AC 1,492 ms
76,728 KB
testcase_08 AC 1,200 ms
76,612 KB
testcase_09 AC 572 ms
76,412 KB
testcase_10 AC 996 ms
76,904 KB
testcase_11 AC 1,811 ms
76,896 KB
testcase_12 AC 528 ms
76,380 KB
testcase_13 AC 167 ms
76,128 KB
testcase_14 AC 1,554 ms
76,744 KB
testcase_15 TLE -
testcase_16 TLE -
testcase_17 TLE -
testcase_18 TLE -
testcase_19 TLE -
testcase_20 AC 77 ms
76,504 KB
testcase_21 AC 727 ms
76,172 KB
testcase_22 AC 1,724 ms
77,388 KB
testcase_23 AC 75 ms
76,864 KB
testcase_24 AC 904 ms
76,664 KB
testcase_25 TLE -
testcase_26 TLE -
testcase_27 TLE -
testcase_28 TLE -
testcase_29 AC 1,264 ms
76,652 KB
testcase_30 AC 36 ms
53,784 KB
testcase_31 AC 35 ms
53,408 KB
testcase_32 AC 36 ms
52,532 KB
testcase_33 AC 35 ms
53,748 KB
testcase_34 AC 36 ms
52,700 KB
testcase_35 AC 35 ms
53,372 KB
testcase_36 AC 36 ms
53,936 KB
testcase_37 AC 36 ms
51,948 KB
testcase_38 AC 36 ms
53,380 KB
testcase_39 AC 36 ms
52,216 KB
testcase_40 AC 36 ms
53,856 KB
testcase_41 AC 35 ms
52,876 KB
testcase_42 AC 36 ms
53,424 KB
testcase_43 AC 35 ms
53,288 KB
testcase_44 AC 36 ms
54,020 KB
testcase_45 AC 35 ms
52,500 KB
testcase_46 AC 36 ms
53,272 KB
testcase_47 AC 37 ms
52,984 KB
testcase_48 AC 36 ms
52,588 KB
testcase_49 AC 43 ms
61,256 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

def calc(x, m):
    T = []
    st = max(1, x // m)
    pre = x + 1
    for i in range(st, x + 1):
        now = x // i
        if pre == now:
            break
        T.append(x // i)
        pre = now
    T += list(reversed(range(now)))
    nt = len(T)
    ret = x * m
    for i in range(nt - 1):
        a, b = T[i], T[i + 1]
        ret -= (a - b) * (a + b + 1) // 2 * (x // a)
        #print(i, a, b, x // a, (a - b) * (a + b + 1) // 2 * (x // a))
    return ret

N, M = map(int, input().split())
ans = 0
for i in range(1, N + 1):
    ans = max(ans, calc(i, M))
print(ans)
0