結果
| 問題 |
No.1368 サイクルの中に眠る門松列
|
| コンテスト | |
| ユーザー |
googol_S0
|
| 提出日時 | 2021-01-29 21:39:51 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 652 bytes |
| コンパイル時間 | 186 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 108,160 KB |
| 最終ジャッジ日時 | 2024-06-27 07:51:18 |
| 合計ジャッジ時間 | 3,373 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 9 WA * 6 |
ソースコード
def k(x):
y=sorted(x)
if len(set(x))!=3 or y.index(x[1])==1:
return 0
return 1
def solve():
N=int(input())
A=list(map(int,input().split()))
for i in range(3):
A.append(A[i])
INF=10**12
F=[-INF]*N
for i in range(N):
if k([A[i],A[i+1],A[i+2]]):
F[i]=A[i]
for i in range(N):
F.append(F[i])
DP=[0]*(N+4)
for i in range(N+1):
DP[i]=max(DP[i],DP[i-1])
DP[i+3]=max(DP[i+3],DP[i]+F[i])
P=max(DP[N-1],DP[N+1],DP[N])
DP=[0]*(N+4)
for i in range(N+1):
DP[i]=max(DP[i],DP[i-1])
DP[i+3]=max(DP[i+3],DP[i]+F[i-3])
print(max(P,max(DP[N-1],DP[N+1],DP[N])))
for i in range(int(input())):
solve()
googol_S0