結果
問題 |
No.1006 Share an Integer
|
ユーザー |
![]() |
提出日時 | 2020-03-06 22:04:59 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 819 bytes |
コンパイル時間 | 81 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 17,316 KB |
最終ジャッジ日時 | 2024-10-14 07:06:16 |
合計ジャッジ時間 | 4,067 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 WA * 1 TLE * 1 -- * 10 |
ソースコード
import sys from functools import lru_cache sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline @lru_cache(maxsize=None) def make_len_divisors(n): ans = 0 for i in range(1, int(n**0.5)+1): if n % i == 0: ans += 1 if i != n // i: ans += 1 return ans def main(): X = int(input()) mi = float("inf") ans = [] for i in range(1, X // 2 + 1): a = i - make_len_divisors(i) b = (X - i) - make_len_divisors(X - i) if abs(a - b) < mi: mi = abs(a - b) ans = [] if abs(a - b) == mi: ans.append([i, X - i]) for a in ans: print(*a) for a, b in ans[::-1]: if a == b: break print(b, a) if __name__ == '__main__': main()