ABC124

atcoder.jp

3完。Dのテストケースで1個だけWA出て死亡。。変に分岐複雑にしちゃったからどこかミスってるんだろうけど結局どこかわからなかったです。ウボァ

ある数列があって、その[l, r)の区間の和を求めたい場合は累積和(Cumulative sum)を使う。

nums = [1, 2, 3, 4, 5] # 適当な数列
cum_sums = [0]
for i in range(len(nums)):
    cum_sums.append(cum_sums[i] + nums[i])

l = 1
r = 4
ans = cum_sums[r] - cum_sums[l]
print(ans) # => 9 (2 + 3 + 4)

Pythonだとこんな雰囲気。