結果
| 問題 |
No.999 てん vs. ほむ
|
| コンテスト | |
| ユーザー |
ryo_n
|
| 提出日時 | 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()
ryo_n