結果
| 問題 |
No.2218 Multiple LIS
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-02-17 21:52:21 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 2,495 ms / 3,000 ms |
| コード長 | 373 bytes |
| コンパイル時間 | 110 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 23,168 KB |
| 最終ジャッジ日時 | 2024-07-19 13:05:57 |
| 合計ジャッジ時間 | 23,743 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 39 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i
A = gets.split.map(&:to_i)
def divisors(n)
divisors = []
k = 1
while k * k < n
divisors << k << (n / k) if n % k == 0
k += 1
end
divisors << k if k * k == n
divisors.sort
end
lis = Hash.new(0)
A.each do |x|
divisors(x).reverse_each do |y|
lis[x] = [lis[x], lis[y] + 1].max
end
end
puts lis.values.max