C - 分割 (Split) 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MB

配点: 100

問題文

長さ N の整数列 A = (A_1, A_2, \ldots, A_N) が与えられる.数列 A の値はすべて異なる.

最大値で数列を分割したとき,最大値より前にある値の和と,最大値より後ろにある値の和を出力せよ.

すなわち,数列 A の最大値を A_x とすると,A_1 + A_2 + \cdots + A_{x-1}A_{x+1} + A_{x+2} + \cdots +A_N を出力せよ.

ただし最大値より前に値がない場合,最大値より前にある値の和は 0 になる.

同様に最大値より後ろに値がない場合,最大値より後ろにある値の和は 0 になる.

制約

  • 1 \leqq N \leqq 100
  • 1 \leqq A_i \leqq 2000 (1 \leqq i \leqq N).
  • A_i \neq A_j (1 \leqq i < j \leqq N).

入力

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

N
A_1 A_2 \cdots A_N

出力

出力は 2 行からなる.

1 行目に,整数列 A の,最大値より前にある値の和を出力せよ.

2 行目に,整数列 A の,最大値より後ろにある値の和を出力せよ.


入力例 1

5
9 3 16 8 1

出力例 1

12
9

この数列の最大値は 16 である.よって 16 より前にある 9,3 の和である 12 と,16 より後ろにある 8,1 の和である 9 を改行区切りで出力する.


入力例 2

6
121 8 5 4 1 3

出力例 2

0
21

この数列の最大値は 121 である.121 より前に値はないので最初に 0 を出力する.続けて 121 より後ろにある 8,5,4,1,3 の和である 21 を出力する.


入力例 3

1
2000

出力例 3

0
0

最大値の前後に値がないかもしれない.


入力例 4

10
9 12 30 63 55 8 10 1 27 13

出力例 4

51
114