結果
問題 | No.1150 シュークリームゲーム(Easy) |
ユーザー | nikkukun |
提出日時 | 2020-08-12 23:33:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 157 ms / 2,000 ms |
コード長 | 1,043 bytes |
コンパイル時間 | 256 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 97,752 KB |
最終ジャッジ日時 | 2024-10-09 18:40:28 |
合計ジャッジ時間 | 8,078 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 43 |
ソースコード
import pdb if __name__ == '__main__': n = int(input()) s, t = map(int, input().split()) s -= 1 t -= 1 a = list(map(int, input().split())) a = a[s:] + a[:s] s, t = 0, (t - s) % n x = t - 1 y = n - x - 2 # pdb.set_trace() ans = a[s] - a[t] if x % 2 == 0 and y % 2 == 0: ans += sum(a[1 : 1 + x // 2]) + sum(a[n - y // 2 : n]) ans -= sum(a[1 + x // 2 : t]) + sum(a[n - y : n - y // 2]) elif x % 2 == 0 and y % 2 == 1: ans += sum(a[1 : 1 + x // 2]) + sum(a[n - y // 2 - 1 : n]) ans -= sum(a[1 + x // 2 : t]) + sum(a[n - y : n - y // 2 - 1]) elif x % 2 == 1 and y % 2 == 0: ans += sum(a[1 : 1 + x // 2 + 1]) + sum(a[n - y // 2 : n]) ans -= sum(a[1 + x // 2 + 1: t]) + sum(a[n - y : n - y // 2]) else: ans1, ans2 = ans, ans ans1 += sum(a[1 : 1 + x // 2 + 1]) + sum(a[n - y // 2 : n]) ans1 -= sum(a[1 + x // 2 + 1: t]) + sum(a[n - y : n - y // 2]) ans2 += sum(a[1 : 1 + x // 2]) + sum(a[n - y // 2 - 1 : n]) ans2 -= sum(a[1 + x // 2: t]) + sum(a[n - y : n - y // 2 - 1]) ans = max(ans1, ans2) print(ans)