[ARC103F] Distance Sums
题意翻译
- 给出 $N$ 个互不相同的数 $D_i$,表示树上的节点 $i$ 到其他所有点的距离和。
- 请判断是否存在这样一棵树,其中每条边的长度均为 $1$。若存在请输出一种方案,否则输出 `-1`。
- $1 \leq N \leq 10^5$,$1 \leq D_i \leq 10^{12}$。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc103/tasks/arc103_d
長さ $ N $ の数列 $ D_1,\ D_2,\ ...,\ D_N $ が与えられます。 **$ D_i $ の値はすべて異なります**。 以下の条件を満たす $ N $ 頂点の木は存在するでしょうか?
- 各頂点には $ 1,2,...,\ N $ の番号が付けられている
- 各辺には $ 1,2,...,\ N-1 $ の番号が付けられていて、$ i $ 番目の辺は頂点 $ u_i $ と $ v_i $ をつないでいる
- 各頂点 $ i $ に対して、$ i $ から他の頂点までの距離の和は $ D_i $ である。ただし、各辺の長さは $ 1 $ であるものとする。
条件を満たす木が存在する場合、$ 1 $ つ構築してください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる.
> $ N $ $ D_1 $ $ D_2 $ $ : $ $ D_N $
输出格式
条件を満たす $ N $ 頂点の木が存在しない場合、`-1` と出力してください。
条件を満たす $ N $ 頂点の木が存在する場合、$ N-1 $ 行出力してください。 $ i $ 行目には $ u_i,v_i $ を空白区切りで出力してください。 複数の木が条件を満たす場合、どれを出力しても構いません。
输入输出样例
输入样例 #1
7
10
15
13
18
11
14
19
输出样例 #1
1 2
1 3
1 5
3 4
5 6
6 7
输入样例 #2
2
1
2
输出样例 #2
-1
输入样例 #3
15
57
62
47
45
42
74
90
75
54
50
66
63
77
87
51
输出样例 #3
1 10
1 11
2 8
2 15
3 5
3 9
4 5
4 10
5 15
6 12
6 14
7 13
9 12
11 13
说明
### 制約
- $ 2\ \leq\ N\ \leq\ 100000 $
- $ 1\ \leq\ D_i\ \leq\ 10^{12} $
- $ D_i $ はすべて異なる
### Sample Explanation 1
次のような木が条件を満たします。 !\[\](https://img.atcoder.jp/arc103/92920696862ead4cacf3755c3c8135e0.png)