AT_diverta2019_2_c Successive Subtraction
Description
[problemUrl]: https://atcoder.jp/contests/diverta2019-2/tasks/diverta2019_2_c
黒板に $ A_1,\ A_2,\ ...,\ A_N $ の $ N $ 個の整数が書かれています。
以下の操作を $ N-1 $ 回繰り返して黒板にただ $ 1 $ つの整数が書かれているようにします。
- $ 2 $ 個の整数 $ x,\ y $ を選んで消し、新たに $ 1 $ 個の整数 $ x-y $ を書く。
ただ $ 1 $ つ残る整数としてありうる値の最大値と、その最大値を達成する操作列を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $
Output Format
ただ $ 1 $ つ残る整数としてありうる値の最大値 $ M $ と、その最大値を達成する操作列 $ x_i,\ y_i $ を以下の形式に従って出力せよ。
ただし、$ x_i,\ y_i $ は $ i $ 回目の操作で選ぶ $ x,\ y $ を表す。
また、最大値を達成する操作列が複数存在する場合は、そのうちどれを出力しても良い。
> $ M $ $ x_1 $ $ y_1 $ $ : $ $ x_{N-1} $ $ y_{N-1} $
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 10^5 $
- $ -10^4\ \leq\ A_i\ \leq\ 10^4 $
- 入力は全て整数である
### Sample Explanation 1
$ 1 $ 回目の操作で $ x $ として $ -1 $、$ y $ として$ 1 $ を選ぶと、黒板に書かれている整数は $ (-2,\ 2) $ になります。 $ 2 $ 回目の操作で $ x $ として $ 2 $、$ y $ として$ -2 $ を選ぶと、黒板に書かれている整数は $ (4) $ になります。 よって $ 4 $ がただ $ 1 $ つ残り、$ 5 $ 以上の整数がただ $ 1 $ つ残ることはないので、これが最大です。