結果

問題 No.390 最長の数列
ユーザー rlangevinrlangevin
提出日時 2023-02-04 02:03:21
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 4,530 ms / 5,000 ms
コード長 510 bytes
コンパイル時間 129 ms
コンパイル使用メモリ 82,248 KB
実行使用メモリ 470,680 KB
最終ジャッジ日時 2024-07-03 00:02:04
合計ジャッジ時間 80,938 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 4,455 ms
457,948 KB
testcase_01 AC 4,344 ms
457,820 KB
testcase_02 AC 4,327 ms
457,444 KB
testcase_03 AC 4,297 ms
458,204 KB
testcase_04 AC 4,457 ms
457,684 KB
testcase_05 AC 4,530 ms
470,212 KB
testcase_06 AC 4,358 ms
470,144 KB
testcase_07 AC 4,260 ms
457,824 KB
testcase_08 AC 4,156 ms
458,204 KB
testcase_09 AC 4,289 ms
457,352 KB
testcase_10 AC 4,314 ms
470,600 KB
testcase_11 AC 4,311 ms
470,276 KB
testcase_12 AC 4,351 ms
470,680 KB
testcase_13 AC 4,304 ms
466,484 KB
testcase_14 AC 4,381 ms
470,500 KB
testcase_15 AC 4,443 ms
458,088 KB
testcase_16 AC 4,190 ms
457,672 KB
testcase_17 AC 4,428 ms
458,872 KB
testcase_18 AC 4,375 ms
459,184 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import *

def enum_div(M):
    L = [[1] for i in range(M + 1)]
    for i in range(2, M + 1):
        for j in range(i, M + 1, i):
            L[j].append(i)
    return L


N = int(input())
X = list(map(int, input().split()))
X.sort()
L = enum_div(10 ** 6 + 5)
D = defaultdict(int)
for i in range(N):
    val = 0
    for v in L[X[i]]:
        if v not in D:
            continue
        val = max(val, D[v])
    D[X[i]] = val + 1

ans = 0
for k, v in D.items():
    ans = max(ans, v)
print(ans)
0