/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 218ms 50.062 MiB
#2 Accepted 251ms 49.957 MiB
#3 Accepted 244ms 49.883 MiB
#4 Accepted 243ms 49.895 MiB
#5 Accepted 242ms 49.98 MiB

Code

# ruff: noqa: E731, E741
from math import gcd, isqrt
import sys

read = sys.stdin.readline
input = lambda: read().rstrip()
ir = lambda: int(read())
rir = lambda: range(int(read()))
mir = lambda: map(int, read().split())
lmir = lambda: list(map(int, read().split()))


def naive(n):
    res = 0
    for i in range(1, n + 1):
        for j in range(i + 1, n + 1):
            res += gcd(i, j) == j - i
    return res


def precompute(n):
    n += 1

    factors = [0] * n
    for i in range(1, n):
        for j in range(2 * i, n, i):
            factors[j] += 1

    res = [0, 0]
    for i in range(2, n):
        res.append(res[-1] + factors[i])
    return res


def main():
    p = precompute(10**6)
    for _ in rir():
        n = ir()
        print(p[n])


# 4 8
# 6 8
# 7 8

"""
9 10
8 10
5 10
"""


def test():
    N = 100
    p = precompute(N)
    print([naive(i) for i in range(N)])
    print(p)
    for i in range(len(p)):
        rn = naive(i)
        rp = p[i]
        if rn != rp:
            print(i, rn, rp)
            return


if __name__ == "__main__":
    if sys.stdin.isatty():
        test()
    else:
        main()

Information

Submit By
Type
Submission
Problem
P1206 D1. GCD equal Absolute Value (Easy Version)
Contest
Educational Round 1
Language
PyPy 3 (Python 3.9.18 PyPy 7.3.15)
Submit At
2025-07-14 16:22:22
Judged At
2025-07-14 16:22:22
Judged By
Score
100
Total Time
251ms
Peak Memory
50.062 MiB