#joi2014ho3. [joi2014ho3]バームクーヘン (Baumkuchen)

[joi2014ho3]バームクーヘン (Baumkuchen)

JOI 君は妹の JOI 子ちゃんと JOI 美ちゃんと一緒におやつを食べようとしている.今日のおやつは 33 人の大好物のバームクーヘンだ.

バームクーヘンは下図のような円筒形のお菓子である.33 人に分けるために,JOI 君は半径向に刃を 33 回入れて,これを 33 つのピースに切り分けなければならない.ただしこのバームクーヘンは本物の木材のように固いので,刃を入れるのは簡単ではない.そのためこのバームクーヘンにはあらかじめ NN 個の切れ込みが入っており,JOI 君は切れ込みのある位置でのみ切ることができる.切れ込みに 11 から NN まで時計回りに番号をふったとき,1leqqileqqN11 \\leqq i \\leqq N - 1 に対し,ii 番目の切れ込みと i+1i + 1 番目の切れ込みの間の部分の大きさは AiA_i である.また NN 番目の切れ込みと 11 番目の切れ込みの間の部分の大きさは ANA_N である.

図 1: バームクーヘンの例 N=6N = 6A1=1A_1 = 1A2=5A_2 = 5A3=4A_3 = 4A4=5A_4 = 5A5=2A_5 = 2A6=4A_6 = 4

妹思いの JOI 君は,バームクーヘンを 33 つのピースに切り分けたあと,自分は最も小さいピースを選び,残りの 22 つのピースを 22 人の妹にあげることにした.一方で,JOI 君はバームクーヘンが大好物なので,できるだけたくさん食べたいと思っている.最も小さいピースの大きさが最大になるように切ったとき,JOI 君が食べることになるピースの大きさはいくらになるだろうか.

課題

切れ込みの個数 NN と,各部分の大きさを表す整数 A1,ldots,ANA_1, \\ldots, A_N が与えられる.バームクーヘンを 33 つに切り分けたときの,最も小さいピースの大きさの最大値を出力するプログラムを作成せよ.


入力

標準入力から以下の入力を読み込め.

  • 11 行目には,整数 NN が書かれている.これはバームクーヘンに NN 個の切れ込みがあることを表す.
  • 続く NN 行のうちの ii 行目 (1leqqileqqN1 \\leqq i \\leqq N) には,整数 AiA_i が書かれている.これは ii 番目の切れ込みと i+1i + 1 番目の切れ込みの間の部分 (i=Ni = N のときは NN 番目の切れ込みと 11 番目の切れ込みの間の部分) の大きさが AiA_i であることを表す.

出力

標準出力に,バームクーヘンを 33 つに切り分けたときの,最も小さいピースの大きさの最大値を表す整数を 11 行で出力せよ.


制限

すべての入力データは以下の条件を満たす.

  • 3leqqNleqq100,0003 \\leqq N \\leqq 100\\,000
  • 1leqqAileqq1,000,000,0001 \\leqq Ai \\leqq 1\\,000\\,000\\,000 (1leqqileqqN1 \\leqq i \\leqq N).

小課題

小課題 1 [5 点]

Nleqq100N \\leqq 100 を満たす.

小課題 2 [15 点]

Nleqq400N \\leqq 400 を満たす.

小課題 3 [30 点]

Nleqq8,000N \\leqq 8\\,000 を満たす.

小課題 4 [50 点]

追加の制限はない.


入力例 1

6
1
5
4
5
2
4

出力例 1

6

図 2: 11 番目の切れ込みと 33 番目の切れ込みと 55 番目の切れ込みで切るのが最善である.


入力例 2

30
1
34
44
13
30
1
9
3
7
7
20
12
2
44
6
9
44
31
17
20
33
18
48
23
19
31
24
50
43
15

出力例 2

213