結果
| 問題 | No.1150 シュークリームゲーム(Easy) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-11 19:45:47 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 46 ms / 2,000 ms |
| コード長 | 839 bytes |
| 記録 | |
| コンパイル時間 | 182 ms |
| コンパイル使用メモリ | 85,576 KB |
| 実行使用メモリ | 86,400 KB |
| 最終ジャッジ日時 | 2026-05-11 19:45:52 |
| 合計ジャッジ時間 | 4,497 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 43 |
ソースコード
N = int(input())
s, t = (int(x) - 1 for x in input().split())
A = [int(x) for x in input().split()]
left = []
i = (s + 1) % N
while i != t:
left.append(A[i])
i = (i + 1) % N
right = []
i = (s - 1) % N
while i != t:
right.append(A[i])
i = (i - 1) % N
if len(left) % 2 == len(right) % 2 == 1:
op1 = sum(left[:(len(left) + 1) // 2]) + sum(right[:len(right) // 2]) - sum(left[(len(left) + 1) // 2:]) - sum(right[len(right) // 2:])
op2 = sum(left[:len(left) // 2]) + sum(right[:(len(right) + 1) // 2]) - sum(left[len(left) // 2:]) - sum(right[(len(right) + 1) // 2:])
print(max(op1, op2) + A[s] - A[t])
else:
first = A[s] + sum(left[:(len(left) + 1) // 2]) + sum(right[:(len(right) + 1) // 2])
second = A[t] + sum(left[(len(left) + 1) // 2:]) + sum(right[(len(right) + 1) // 2:])
print(first - second)