結果

問題 No.209 Longest Mountain Subsequence
ユーザー convexineqconvexineq
提出日時 2020-12-18 20:14:27
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 645 bytes
コンパイル時間 319 ms
コンパイル使用メモリ 82,720 KB
実行使用メモリ 76,912 KB
最終ジャッジ日時 2024-09-21 09:16:24
合計ジャッジ時間 3,313 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 MLE -
testcase_01 MLE -
testcase_02 MLE -
testcase_03 MLE -
testcase_04 MLE -
testcase_05 MLE -
権限があれば一括ダウンロードができます

ソースコード

diff #

def get(a):
    n = len(a)
    dp = [[0]*n for _ in range(n)]
    for i in range(n):
        dp[i][i] = 1
        for j in range(i,n):
            for k in range(j+1,n):
                if a[j] < a[k] and a[j] - a[i] < a[k] - a[j]:
                    dp[j][k] = max(dp[j][k], dp[i][j] + 1)
    res = [0]*n    
    for i in range(n):
        for j in range(i,n):
            res[j] = max(res[j],dp[i][j])
    return res

def solve(a):
    r1 = get(a)
    r2 = get(a[::-1])[::-1]
    x = max(i+j for i,j in zip(r1,r2))
    return x-1

T = int(input())
for _ in range(T):
    n = int(input())
    *a, = map(int,input().split())
    print(solve(a))
0