結果

問題 No.1368 サイクルの中に眠る門松列
ユーザー tanimani364tanimani364
提出日時 2021-03-23 15:41:32
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 749 bytes
コンパイル時間 166 ms
コンパイル使用メモリ 82,560 KB
実行使用メモリ 101,704 KB
最終ジャッジ日時 2024-05-04 01:36:43
合計ジャッジ時間 3,493 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 59 ms
63,872 KB
testcase_01 AC 61 ms
63,872 KB
testcase_02 AC 189 ms
79,240 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 AC 128 ms
101,700 KB
testcase_06 WA -
testcase_07 AC 122 ms
101,304 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
		
		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

		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
		
		ans=max(ans,res)
		print(ans)

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