結果
問題 | No.1006 Share an Integer |
ユーザー | flippergo |
提出日時 | 2024-11-01 22:38:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,041 ms / 2,000 ms |
コード長 | 517 bytes |
コンパイル時間 | 348 ms |
コンパイル使用メモリ | 82,476 KB |
実行使用メモリ | 107,796 KB |
最終ジャッジ日時 | 2024-11-01 22:38:39 |
合計ジャッジ時間 | 10,843 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
X = int(input()) P = list(range(X+1)) for i in range(2,X+1): if i*i>X:break for j in range(i*i,X+1,i): P[j] = P[i] D = [0]*(X+1) D[1] = 1 for i in range(2,X+1): C = {} cur = i while cur>1: C[P[cur]] = C.get(P[cur],0)+1 cur //= P[cur] d = 1 for k in C: d *= C[k]+1 D[i] = d dmin = 10**7 for i in range(1,X): f = abs(i-D[i]-(X-i-D[X-i])) dmin = min(dmin,f) for i in range(1,X): f = abs(i-D[i]-(X-i-D[X-i])) if f==dmin: print(i,X-i)