#arc103d. [arc103_d]Distance Sums
[arc103_d]Distance Sums
题目描述
给定一个长度为的序列 。是否存在一个满足以下条件的包含个顶点的树?
- 顶点编号为。
- 边的编号为,第条边连接顶点和。
- 对于每个顶点,假设每条边的长度为,顶点 到其他顶点的距离之和为。
如果存在这样的树,请构造一棵满足条件的树。
约束条件
- 是互不相同的。
输入
输入以以下格式从标准输入给出:
...
输出
如果不存在满足条件的包含个顶点的树,则输出-1
。
如果存在满足条件的包含个顶点的树,则输出行。每行输出一个边,用顶点和表示,中间用一个空格隔开。如果有多棵满足条件的树,任何一棵都会被接受。
示例输入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