結果
| 問題 |
No.2480 Sequence Sum
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2023-09-22 23:17:47 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 919 bytes |
| コンパイル時間 | 252 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 63,104 KB |
| 最終ジャッジ日時 | 2024-07-08 13:57:18 |
| 合計ジャッジ時間 | 1,610 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | WA * 13 |
ソースコード
# import系 ---
# 入力用 ---
INT = lambda: int(input())
MI = lambda: map(int, input().split())
MI_DEC = lambda: map(lambda x: int(x) - 1, input().split())
LI = lambda: list(map(int, input().split()))
LI_DEC = lambda: list(map(lambda x: int(x) - 1, input().split()))
LS = lambda: list(input())
LSS = lambda: input().split()
# コード ---
from math import isqrt
N = INT()
# aとbの最大公約数gcdと、a*x - b*y = 1 の特殊解x, y を返す
def extended_gcd(a, b):
if a == 0:
return b, 0, 1
else:
gcd, x, y = extended_gcd(b % a, a)
return gcd, y - (b // a) * x, x
# 連立合同式を解く
def culc(A, B, a, b):
_, x, _ = extended_gcd(A, B)
return ((A * x) * (b - a) + a) % (A * B)
ans = 0
i = 2
while i * (i - 1) <= N:
clc = culc(i, i-1, 0, N)
x = (N - clc) // (i * (i - 1))
ans += x-1 if (N - clc) % (i * (i - 1)) == 0 else x
i += 1
print(ans)