結果

問題 No.209 Longest Mountain Subsequence
ユーザー convexineq
提出日時 2020-12-18 20:15:08
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 645 bytes
コンパイル時間 158 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 16,640 KB
最終ジャッジ日時 2024-09-21 09:16:37
合計ジャッジ時間 12,572 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1 TLE * 3 -- * 2
権限があれば一括ダウンロードができます

ソースコード

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