結果

問題 No.1368 サイクルの中に眠る門松列
ユーザー tanimani364tanimani364
提出日時 2021-03-23 15:36:26
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 798 bytes
コンパイル時間 164 ms
コンパイル使用メモリ 82,124 KB
実行使用メモリ 101,812 KB
最終ジャッジ日時 2024-11-25 07:23:23
合計ジャッジ時間 3,451 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 55 ms
65,096 KB
testcase_01 AC 51 ms
65,220 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 AC 117 ms
101,064 KB
testcase_06 AC 110 ms
101,580 KB
testcase_07 AC 116 ms
100,944 KB
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/usr/bin/env python3
#coding:utf-8

import math
import string
from sys import stdin
# import numpy as np
# from matplotlib import pyplot as plt

	
def main():
	read=stdin.readline

	#edit here!
	t=int(read())
	while t>0:
		t-=1
		n=int(read())
		a=list(map(int,read().split()))

		check=lambda a,b,c:a!=b and b!=c and c!=a and (a<b>c or a>b<c)
		res=0
		ans=0
		i=0
		while i<n-2:
			
			if check (a[i],a[i+1],a[i+2]):
				ans+=a[i]
				i+=3
			else :
				i+=1
		
		i=0
		while i<n-2:
			if check(a[(i+1)%n],a[(i+2)%n],a[(i+3)%n]):
				res+=a[(i+1)%n]
				i+=3
			else:
				i+=1

		ans=max(ans,res)
		res=0
		
		i=0
		while i<n-2:
			if check(a[(i+2)%n],a[(i+3)%n],a[(i+4)%n]):
				res+=a[(i+2)%n]
				i+=3
			else:
				i+=1
		
		ans=max(ans,res)
		print(ans)

if __name__ == '__main__':
	main()
0