結果
| 問題 |
No.390 最長の数列
|
| コンテスト | |
| ユーザー |
manini
|
| 提出日時 | 2021-01-25 22:05:04 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,433 ms / 5,000 ms |
| コード長 | 627 bytes |
| コンパイル時間 | 411 ms |
| コンパイル使用メモリ | 82,012 KB |
| 実行使用メモリ | 91,336 KB |
| 最終ジャッジ日時 | 2024-06-22 18:40:13 |
| 合計ジャッジ時間 | 9,209 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 15 |
ソースコード
# coding:UTF-8
import sys
MOD = 10 ** 9 + 7
INF = float('inf')
N = int(input()) # 数字
X = list(map(int, input().split())) # スペース区切り連続数字
X.sort()
mp = {}
# 約数列挙
def divisorList(a):
l = []
for i in range(1, int(a**0.5)+1):
if a % i == 0:
l.append(i)
ii = a // i
if i != ii:
l.append(ii)
return sorted(l)
res = 0
for x in X:
d = divisorList(x)
t = 0
for n in d:
if n in mp and mp[n] > t:
t = mp[n]
mp[x] = t + 1
if mp[x] > res:
res = mp[x]
print("{}".format(res))
manini