結果
| 問題 |
No.390 最長の数列
|
| コンテスト | |
| ユーザー |
fal_rnd
|
| 提出日時 | 2016-12-28 00:07:08 |
| 言語 | Java (openjdk 23) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 682 bytes |
| コンパイル時間 | 1,929 ms |
| コンパイル使用メモリ | 77,352 KB |
| 実行使用メモリ | 125,688 KB |
| 最終ジャッジ日時 | 2024-12-15 04:58:21 |
| 合計ジャッジ時間 | 47,323 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 8 TLE * 7 |
ソースコード
package src;
import java.util.*;
class A{
static Scanner s = new Scanner(System.in);
static int[] inS,memo;
public static void main(String[] args) {
inS = new int[s.nextInt()];
memo = new int[inS.length];
{
for(int i=0;i<inS.length;++i) inS[i]=Integer.parseInt(s.next());
Arrays.sort(inS);
Arrays.fill(memo, -1);
}
int r=Integer.MIN_VALUE;
for(int i=0;i<inS.length;++i) {
r=Math.max(r, dp(i));
}
System.out.println(r);
}
static int dp(int index){
int d = inS[index];
if(memo[index]<0) {
int r=1;
for(int i=index+1;i<inS.length;++i) {
if(inS[i]%d==0)
r=Math.max(r, dp(i)+1);
}
memo[index]=r;
}
return memo[index];
}
}
fal_rnd