AtCoder Beginner Contest 214 C - Distribution【Python】

https://atcoder.jp/contests/abc214/tasks/abc214_c

AtCoder ProblemsのRecommendationで Difficulty: 319、Solve Probability: 54%でした。

なんとか解けましたが、闇雲に実装したら通ったという感じです。
動的計画法を意識したわけではないですが、自分のコードを見るとそうなっている気がします。

N = int(input())
S = list(map(int, (input().split())))
T = list(map(int, (input().split())))
A = T.copy()

for i in range(N):
    if i-1  < 0:
        A[i] = min(A[i], A[N-1] + S[N-1])
    A[i] = min(A[i], A[i-1] + S[i-1])
    
for i in range(N):
    if i-1  < 0:
        A[i] = min(A[i], A[N-1] + S[N-1])
    A[i] = min(A[i], A[i-1] + S[i-1])

for i in range(N):
    print(A[i])