結果
| 問題 |
No.811 約数の個数の最大化
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-13 16:01:23 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 469 ms / 2,000 ms |
| コード長 | 672 bytes |
| コンパイル時間 | 240 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 16,256 KB |
| 最終ジャッジ日時 | 2024-09-15 11:09:01 |
| 合計ジャッジ時間 | 3,724 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 12 |
ソースコード
N, K = map( int, input().split())
Ints = [ i for i in range(N)]
Primefactors = [0]*N
Factors = [1]*N
for i in range(2, N):
if Ints[i] == 1:
continue
for j in range(1, N):
if i*j < N:
t = 1
while Ints[i*j]%i == 0:
Ints[i*j] //= i
Primefactors[i*j] += 1
t += 1
Factors[i*j] *= t
else:
break
def gcd(a, b):
while b != 0:
a, b = b, a % b
return(a)
ans = 1
nowfactors = 1
for i in range(2,N):
if Primefactors[gcd(i,N)] >= K:
if Factors[i] > nowfactors:
ans = i
nowfactors = Factors[i]
print( ans)