うーん、なるほど
DP っぽいなー。。って書いたら
全然違った(笑)
CitySavers.py
N = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
score = 0
marg = 0
for i in range(N):
num = A[i]-marg
if num > 0:
score += marg
A[i] -= marg
if B[i] >= A[i]:
score += A[i]
marg = B[i]-A[i]
else:
score += B[i]
marg = 0 # <= ここを忘れて WA (泣)
else:
score += A[i]
marg = B[i]
if A[-1]-marg >= 0:
score += marg
else:
score += A[-1]
print(score)#123ms
for 文で、どこで抜けても
処理している引数は全て意図した
形式になるように意識が必要だと
再認識した。
再チャレンジ。
記述を少し最適化できて
かつ WA を食らわずに一発 OK!!
ちょっと時間をかけて慎重にやったから当然か。。
次回はサクッと出来るようになってることを祈る。
abc135c.py
N = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
sup = 0
cnt = 0
for i in range(N):
a,b = A[i],B[i]
if a <= b:
cnt += a
if A[i+1] >= b-a:
A[i+1] -= b-a
cnt += b-a
else:
cnt += A[i+1]
A[i+1] = 0
else:
cnt += b
print(cnt)#119ms