From ccc010ccb8a66278521500993d47208cbd7af66f Mon Sep 17 00:00:00 2001 From: Felix Martin Date: Sat, 3 Oct 2026 13:36:16 -0400 Subject: [PATCH] Make solution for 401 faster --- python/e401.py | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/python/e401.py b/python/e401.py index d8de203..e6b0637 100644 --- a/python/e401.py +++ b/python/e401.py @@ -30,32 +30,13 @@ def sum2(a: int, b: int) -> int: return r -def binsearch(a: int, d: int, n: int) -> int: - # Return the largest integer i in [a, n] for which n // i == d. - - # Naive: - # b = a - # while n // (b + 1) == d: - # b += 1 - # return b - - b = n - while n // b != d: - mid = (a + b) // 2 - if b // mid != d: - b = mid - else: - a = mid - return b - - def sigma2caps(n: int) -> int: res = 0 mod = 10**9 a = 1 while a <= n: d = n // a - b = binsearch(a, d, n) + b = n // d s2 = sum2(a, b) % mod res += (s2 * d) % mod res %= mod