PAST4I
PAST4I
考えたこと
やっと巨大なNの問題
2倍にして累積和
それでも始点と終点が自由だと二乗のオーダー
イコールの時にどっちをすればいい?
縮める?
イコールの時は答えが0だから終わっていいのか
通ったのでいいや
code:python
def solve(N, AS):
import sys
INF = sys.maxsize
from itertools import accumulate
acc = list(accumulate(AS + AS)) + 0 def rangeSum(start, end):
start = 0
end = 1
ret = INF
total = rangeSum(0, N)
while True:
x = rangeSum(start, end)
y = total - x
d = x - y
ret = min(abs(d), ret)
if d < 0:
if end == 2 * N - 1:
break
end += 1
else:
start += 1
return ret