結果
問題 | No.2218 Multiple LIS |
ユーザー | magurofly |
提出日時 | 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