結果
| 問題 | 
                            No.209 Longest Mountain Subsequence
                             | 
                    
| コンテスト | |
| ユーザー | 
                             chocorusk
                         | 
                    
| 提出日時 | 2020-09-18 12:19:23 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 780 bytes | 
| コンパイル時間 | 283 ms | 
| コンパイル使用メモリ | 12,928 KB | 
| 実行使用メモリ | 11,264 KB | 
| 最終ジャッジ日時 | 2024-06-22 07:54:52 | 
| 合計ジャッジ時間 | 6,379 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 6 | 
ソースコード
import sys
read=sys.stdin.buffer.read
readline=sys.stdin.buffer.readline
readlines=sys.stdin.buffer.readlines
import itertools
t=int(readline())
def myon(a):
    n=len(a)
    dp=[[0]*n for i in range(n)]
    res=[1]*n
    for j, i in itertools.combinations(range(n), 2):
        ai, aj=a[i], a[j]
        if aj<ai and dp[j][i]==0:
            dp[j][i]=2
        x=dp[j][i]
        if x==0 or aj>=ai:
            continue
        if x>res[i]:
            res[i]=x
        for k in range(i+1, n):
            if a[k]-ai>ai-aj and dp[i][k]<x+1:
                dp[i][k]=x+1
    return res
def solve():
    n=int(readline())
    a=list(map(int, readline().split()))
    x=myon(a)
    a.reverse()
    y=myon(a)
    print(max(p+q-1 for p, q in zip(x, y)))
for _ in range(t):
    solve()
            
            
            
        
            
chocorusk