結果

問題 No.999 てん vs. ほむ
コンテスト
ユーザー norioc
提出日時 2025-10-19 16:24:45
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 134 ms / 2,000 ms
コード長 511 bytes
コンパイル時間 426 ms
コンパイル使用メモリ 82,764 KB
実行使用メモリ 130,160 KB
最終ジャッジ日時 2025-10-19 16:24:49
合計ジャッジ時間 3,900 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

from itertools import accumulate


def accum(a: list):
    acc = list(accumulate(a))
    return lambda l, r: acc[r] - (acc[l-1] if l > 0 else 0)


INF = 1 << 60
N = int(input())
A = list(map(int, input().split()))


def f(xs: list[int]) -> list[int]:
    res = []
    for i in range(0, len(xs), 2):
        res.append(xs[i] - xs[i+1])

    return res


lt = accum(f(A))
rt = accum(f(A[::-1])[::-1])

ans = max(lt(0, N-1), rt(0, N-1))
for i in range(N-1):
    ans = max(ans, lt(0, i) + rt(i+1, N-1))

print(ans)
0