結果

問題 No.752 mod数列
ユーザー lam6er
提出日時 2025-04-15 22:26:54
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 921 bytes
コンパイル時間 140 ms
コンパイル使用メモリ 82,632 KB
実行使用メモリ 99,852 KB
最終ジャッジ日時 2025-04-15 22:29:18
合計ジャッジ時間 5,884 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 3
other AC * 16 TLE * 1 -- * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

def main():
    input = sys.stdin.read().split()
    ptr = 0
    P = int(input[ptr])
    ptr += 1
    Q = int(input[ptr])
    ptr += 1
    results = []
    for _ in range(Q):
        L = int(input[ptr])
        ptr += 1
        R = int(input[ptr])
        ptr += 1
        right = min(R, P)
        if L > right:
            total = P * (R - L + 1)
        else:
            sum_part = 0
            n_start = L
            while n_start <= right:
                k = P // n_start
                if k == 0:
                    break
                n_end = min(right, P // k)
                count = n_end - n_start + 1
                sum_val = (n_start + n_end) * count // 2
                sum_part += k * sum_val
                n_start = n_end + 1
            total = P * (R - L + 1) - sum_part
        results.append(total)
    print('\n'.join(map(str, results)))

if __name__ == '__main__':
    main()
0