E - Work or Rest Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 500500

問題文

高橋君が住む世界の一週間は NN 日からなります。
一週間は曜日 1,2,,N1,2,\dots,N と進んでいき、曜日 NN が終わると次の週の曜日 11 が始まります。

ABC 国の国王である高橋君は、各曜日に「平日」「休日」のどちらかを割り当てます。この割り当ては毎週同じでなければなりません。また、少なくとも 11 つの曜日を「休日」に割り当てなければなりません。

この条件の下で、曜日 ii の生産量は長さ NN の数列 AA を用いて以下のように定義されます。

  • 曜日 ii が「休日」である場合は 00
  • 曜日 ii が「平日」のとき、直前の休日が xx 日前、直後の休日が yy 日後である場合は Amin(x,y)A_{\min(x,y)}
    • 割り当ては毎週繰り返されるため、 直前 / 直後 の「休日」が当日とは別の週に属する可能性があることに注意してください。詳しくはサンプルを参照してください。

上手く割り当てを決めたときの一週間当たりの生産量の最大値を答えてください。
但し、一週間当たりの生産量とは曜日 1,2,,N1,2,\dots,N の生産量の総和を指します。

制約

  • 入力はすべて整数
  • 1N50001 \le N \le 5000
  • 1Ai1091 \le A_i \le 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN
A1A_1 A2A_2 \dots ANA_N

出力

答えを整数として出力せよ。


入力例 1Copy

Copy
7
10 10 1 1 1 1 1

出力例 1Copy

Copy
50

例えば曜日 2,42,4 を「休日」、残りを「平日」に割り当てることで、以下のように一週間当たりの生産量 5050 を達成できます。

  • 曜日 11 ... x=4,y=1x=4,y=1 なので、この曜日の生産量は A1=10A_1 = 10 である。
  • 曜日 22 ... 「休日」であるので、この曜日の生産量は 00 である。
  • 曜日 33 ... x=1,y=1x=1,y=1 なので、この曜日の生産量は A1=10A_1 = 10 である。
  • 曜日 44 ... 「休日」であるので、この曜日の生産量は 00 である。
  • 曜日 55 ... x=1,y=4x=1,y=4 なので、この曜日の生産量は A1=10A_1 = 10 である。
  • 曜日 66 ... x=2,y=3x=2,y=3 なので、この曜日の生産量は A2=10A_2 = 10 である。
  • 曜日 77 ... x=3,y=2x=3,y=2 なので、この曜日の生産量は A2=10A_2 = 10 である。

一週間当たりの生産量を 5151 以上にすることはできません。


入力例 2Copy

Copy
10
200000000 500000000 1000000000 800000000 100000000 80000000 600000 900000000 1 20

出力例 2Copy

Copy
5100000000

入力例 3Copy

Copy
20
38 7719 21238 2437 8855 11797 8365 32285 10450 30612 5853 28100 1142 281 20537 15921 8945 26285 2997 14680

出力例 3Copy

Copy
236980

Score : 500500 points

Problem Statement

In the world where Takahashi lives, a week has NN days.

Takahashi, the king of the Kingdom of AtCoder, assigns "weekday" or "holiday" to each day of week. The assignments should be the same for all weeks. At least one day of week should be assigned "holiday".

Under such conditions, the productivity of the ii-th day of week is defined by a sequence AA of length NN as follows:

  • if the ii-th day of week is "holiday", its productivity is 00;
  • if the ii-th day of week is "weekday", its productivity is Amin(x,y)A_{\min(x,y)}, if the last holiday is xx days before and the next one is yy days after.
    • Note that the last/next holiday may belong to a different week due to the periodic assignments. For details, see the Samples.

Find the maximum productivity per week when the assignments are chosen optimally.
Here, the productivity per week refers to the sum of the productivities of the 11-st, 22-nd, \dots, and NN-th day of week.

Constraints

  • All values in the input are integers.
  • 1N50001 \le N \le 5000
  • 1Ai1091 \le A_i \le 10^9

Input

The input is given from Standard Input in the following format:

NN
A1A_1 A2A_2 \dots ANA_N

Output

Print the answer as an integer.


Sample Input 1Copy

Copy
7
10 10 1 1 1 1 1

Sample Output 1Copy

Copy
50

For example, we can assign "holiday" to the 22-nd and 44-th day of week and "weekday" to the rest to achieve a productivity of 5050 per week:

  • the 11-st day of week ... x=4x=4 and y=1y=1, so its productivity is A1=10A_1 = 10.
  • the 22-nd day of week ... it is holiday, so its productivity is 00.
  • the 33-st day of week ... x=1x=1 and y=1y=1, so its productivity is A1=10A_1 = 10.
  • the 44-th day of week ... it is holiday, so its productivity is 00.
  • the 55-th day of week ... x=1x=1 and y=4y=4, so its productivity is A1=10A_1 = 10.
  • the 66-th day of week ... x=2x=2 and y=3y=3, so its productivity is A2=10A_2 = 10.
  • the 77-th day of week ... x=3x=3 and y=2y=2, so its productivity is A2=10A_2 = 10.

It is impossible to make the productivity per week 5151 or greater.


Sample Input 2Copy

Copy
10
200000000 500000000 1000000000 800000000 100000000 80000000 600000 900000000 1 20

Sample Output 2Copy

Copy
5100000000

Sample Input 3Copy

Copy
20
38 7719 21238 2437 8855 11797 8365 32285 10450 30612 5853 28100 1142 281 20537 15921 8945 26285 2997 14680

Sample Output 3Copy

Copy
236980


2025-04-26 (Sat)
17:47:43 +00:00