結果
問題 | No.1730 GCD on Blackboard in yukicoder |
ユーザー | SidewaysOwl |
提出日時 | 2021-11-05 23:44:07 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,168 bytes |
コンパイル時間 | 274 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 128,504 KB |
最終ジャッジ日時 | 2024-11-06 15:24:46 |
合計ジャッジ時間 | 7,227 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | TLE | - |
testcase_01 | -- | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
ソースコード
n = int(input()) inf = 10 ** 6 + 1 l = [inf] * (10 ** 6+1) a = list(map(int,input().split())) from collections import defaultdict for i in range(2,int((10 ** 6) ** ( 1/2)) + 1): if l[i] == inf: j = i * 2 cnt = 2 while j <= 10 ** 6: l[j] = min(i,l[j]) cnt += 1 j = i * cnt from collections import defaultdict def fast_prime_factorization(w): d = defaultdict(int) while w > 1: div = l[w] if div == inf: d[w] += 1 break while w % div == 0: d[div] += 1 w //= div return d from itertools import product d2 = defaultdict(int) for i in range(n): d = fast_prime_factorization(a[i]) ll = [[] for _ in range(len(d))] for cnt,j in enumerate(d.keys()): for k in range(d[j]+1): ll[cnt].append(j**k) for pro in product(*ll): res = 1 for pp in pro: res *= pp # print(res) d2[res] += 1 d3 = defaultdict(int) for k in d2.keys(): d3[d2[k]] = max(d3[d2[k]],k) ans = 1 for i in range(n): if (n-i) in d3: ans = max(d3[n-i],ans) print(ans)