結果

問題 No.3017 交互浴
ユーザー ねしん
提出日時 2025-01-25 14:16:11
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 221 ms / 2,000 ms
コード長 537 bytes
コンパイル時間 242 ms
コンパイル使用メモリ 82,276 KB
実行使用メモリ 104,676 KB
最終ジャッジ日時 2025-01-25 23:13:46
合計ジャッジ時間 15,168 ms
ジャッジサーバーID
(参考情報)
judge9 / judge10
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 55
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque
N=int(input())
H=list(map(int,input().split()))
Q=deque()
Q.append(10**10)
ans=0
for i in range(N):
	now=0
	while True:
		h=Q.popleft()
		if now+h>H[i]:
			if len(Q)%2==0:
				if i%2==1: #緑
					Q.appendleft(h+now)
				else:
					Q.appendleft(h+now-H[i])
					Q.appendleft(H[i])
					ans+=H[i]
			else:
				if i%2==1:
					Q.appendleft(h+now-H[i])
					Q.appendleft(H[i])
					ans-=(H[i]-now)
				else:
					Q.appendleft(h+now)
					ans+=(now)
			break
		now+=h
		if len(Q)%2==1:
			ans-=h
	print(ans)#,Q)
0