結果
問題 |
No.999 てん vs. ほむ
|
ユーザー |
![]() |
提出日時 | 2020-02-28 21:32:30 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 215 ms / 2,000 ms |
コード長 | 857 bytes |
コンパイル時間 | 132 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 32,580 KB |
最終ジャッジ日時 | 2024-10-13 16:51:14 |
合計ジャッジ時間 | 3,896 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import sys sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline def main(): N = int(input()) A = [int(x) for x in input().split()] ruiseki = [0] * N ruiseki2 = [0] * N for i, (x, y) in enumerate(zip(A[::2], A[1::2])): if i == 0: ruiseki[i] = x - y else: ruiseki[i] = x - y + ruiseki[i - 1] for i, (x, y) in enumerate(zip(A[-1::-2], A[-2::-2])): if i == 0: ruiseki2[N - 1] = x - y else: ruiseki2[N - 1 - i] = x - y + ruiseki2[N - i] ans = -float("inf") for i in range(-1, N): if i == N - 1: ans = max(ans, ruiseki[i]) elif i == -1: ans = max(ans, ruiseki2[0]) else: ans = max(ans, ruiseki[i] + ruiseki2[i + 1]) print(ans) if __name__ == '__main__': main()