#joi2015hob. [joi2015ho_b]ケーキの切り分け2 (Cake 2)
[joi2015ho_b]ケーキの切り分け2 (Cake 2)
JOI くんと IOI ちゃんは双子の兄妹である.JOI くんは最近お菓子作りに凝っていて,今日も JOI くんはケーキを焼いて食べようとしたのだが,焼きあがったところで匂いをかぎつけた IOI ちゃんが来たので 人でケーキを分けることになった.
ケーキは円形である.ある点から放射状に切り目を入れ,ケーキを 個のピースに切り分け,ピースに から まで反時計回りに番号をつけた.つまり, に対し, 番目のピースは 番目と 番目のピースと隣接している (ただし 番目は 番目, 番目は 番目とみなす). 番目のピースの大きさは だったが,切り方がとても下手だったので はすべて異なる値になった.
図 1: ケーキの例 (,,,,,)
この 個を JOI くんと IOI ちゃんで分けることにした.分け方は次のようにすることにした:
- まず JOI くんが 個のうちの好きな つを選んで取る.
- その後,IOI ちゃんからはじめて IOI ちゃんと JOI くんが交互に残りのピースを つずつ取っていく.ただし,両隣のピースのうち少なくとも一方が既に取られているようなピースしか取ることができず,取れるピースが複数あるときは,IOI ちゃんはそのうち最も大きいものを選んで取り,JOI くんはそのうちで好きなものを選んで取ることができる.
JOI くんは,自分が最終的に取るピースの大きさの合計を最大化したい.
課題
ケーキのピースの数 と, 個のピースの大きさの情報が与えられたとき,JOI くんが取れるピースの大きさの合計の最大値を求めるプログラムを作成せよ.
入力
標準入力から以下の入力を読み込め.
- 行目には整数 が書かれており,ケーキが 個のピースに切り分けられていることを表す.
- 続く 行のうちの 行目 () には整数 が書かれており, 番目のピースの大きさが であることを表す.
出力
標準出力に,JOI くんが取れるピースの大きさの合計の最大値を表す整数を 行で出力せよ.
制限
すべての入力データは以下の条件を満たす.
- .
- .
- はすべて異なる.
小課題
小課題 1 [15 点]
- を満たす.
小課題 2 [45 点]
- を満たす.
小課題 3 [40 点]
追加の制限はない.
入力例 1
5
2
8
1
10
9
出力例 1
18
JOI くんは,次のようにピースを取るのが最適である.
- JOI くんは 番目のピースを取る.このピースの大きさは である.
- IOI ちゃんは 番目のピースを取る.このピースの大きさは である.
- JOI くんは 番目のピースを取る.このピースの大きさは である.
- IOI ちゃんは 番目のピースを取る.このピースの大きさは である.
- JOI くんは 番目のピースを取る.このピースの大きさは である.
最終的に,JOI くんが取ったピースの大きさの合計は, となる.
入力例 2
8
1
10
4
5
6
2
9
3
出力例 2
26
入力例 3
15
182243672
10074562
977552215
122668426
685444213
3784162
463324752
560071245
134465220
21447865
654556327
183481051
20041805
405079805
564327789
出力例 3
3600242976