結果
問題 | No.1006 Share an Integer |
ユーザー |
|
提出日時 | 2022-10-21 14:14:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,333 ms / 2,000 ms |
コード長 | 671 bytes |
コンパイル時間 | 145 ms |
コンパイル使用メモリ | 81,900 KB |
実行使用メモリ | 108,416 KB |
最終ジャッジ日時 | 2024-07-01 00:09:55 |
合計ジャッジ時間 | 13,713 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
#int(input()) #map(int, input().split()) #list(map(int, input().split())) X = int(input()) p = [1] * (X + 10) for i in range(2, X+1): if p[i] != 1: continue for j in range(1, X+1): if i * j > X: break p[i*j] = i # print(p) from collections import Counter d = [0] * (X + 1) for i in range(2, X): v = [] t = i while t != 1: v.append(p[t]) t //= p[t] c = list(Counter(v).values()) a = 1 for x in c: a *= (x + 1) d[i] = i - a m = X+1 for i in range(1, X): m = min(m, abs(d[i] - d[X-i])) for i in range(1, X): if abs(d[i] - d[X-i]) == m: print(i, X-i)