結果
| 問題 |
No.209 Longest Mountain Subsequence
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2022-06-27 01:01:56 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
MLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,208 bytes |
| コンパイル時間 | 14,445 ms |
| コンパイル使用メモリ | 443,896 KB |
| 実行使用メモリ | 72,136 KB |
| 最終ジャッジ日時 | 2024-11-17 17:58:04 |
| 合計ジャッジ時間 | 19,588 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | MLE * 6 |
ソースコード
fun main(){
val t=readLine()!!.toInt()
val ALIST=IntArray(t)
for (tests in 0..t-1) {
val N = readLine()!!.toInt()
val A = readLine()!!.split(' ').map { it.toInt() }
if (N == 1) {
ALIST[tests]=1
continue
}
val DP = Array(N) { IntArray(N){2} }
for (i in 0..N - 1) {
val a = A[i]
for (j in 0..i - 1) {
val b = A[j]
for (k in j + 1..i - 1) {
val c = A[k]
if (b < c && c < a && c - b < a - c) {
DP[k][i] = maxOf(DP[k][i], DP[j][k] + 1)
}
if (b < c && c > a) {
DP[k][i] = maxOf(DP[k][i], DP[j][k] + 1)
}
if (b > c && c > a && b - c > c - a) {
DP[k][i] = maxOf(DP[k][i], DP[j][k] + 1)
}
}
}
}
var ANS = 1
for (i in 0..N - 1) {
for (j in 0..N - 1) {
ANS = maxOf(ANS, DP[i][j])
}
}
ALIST[tests]=ANS
}
println(ALIST.joinToString("\n"))
}
titia