『STA - R6』月

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/azq4hrv9.png)

题目描述

对于一棵有 $n$ 个节点的树 $T$,定义其直径 $\operatorname{diam}(T)$ 为任意两个节点之间距离的最大值。 给定正整数 $n$ 和每个点 $i$ 的度数 $d_i$,你需要构造一棵树 $T^\prime$,同时最小化 $\operatorname{diam}(T^\prime)$。 保证至少存在一棵符合要求的树,若存在多个符合要求的答案,输出任意一个即可。

输入输出格式

输入格式


**本题单个测试点内含有多组测试数据。** 第一行一个正整数 $T$,代表测试数据组数。 对于每组测试数据, - 第一行一个正整数 $n$。 - 第二行 $n$ 个正整数,第 $i$ 个正整数表示点 $i$ 的度数 $d_i$。

输出格式


对于每组测试数据,输出 $n - 1$ 行,每行两个正整数 $u_i, v_i$,表示构造出的树的边集。

输入输出样例

输入样例 #1

4
2
1 1
3
1 1 2
5
1 1 2 2 2
7
1 3 2 3 1 1 1

输出样例 #1

2 1
1 3
3 2
5 4
4 2
3 1
3 5
4 2
3 2
1 2
5 4
6 4
7 3

说明

**【样例解释】** 对于最后一组数据,所构造出的树如下图: ![](https://cdn.luogu.com.cn/upload/image_hosting/3mjz6jmf.png) 其直径等于点 $5,7$ 之间或点 $6,7$ 之间的距离,为 $4$。可以证明,不存在满足条件的直径小于 $4$ 的树。 **【数据范围】** **本题采用捆绑测试。** 对于 $100\%$ 的数据: - $2 \le n \le 2 \times 10^5$; - $1 \le T \le 10^5$; - $\sum n \le 2 \times 10^5$; - $1 \le d_i < n$; - 保证至少存在一个合法的解。 具体部分分分配如下: |Subtask 编号|数据范围|分值| |:--------:|:--------:|:--------:| |1|$n \le 5$|$17$| |2|$d_i \le 2$|$23$| |3|$d$ 中只含有两种本质不同的元素|$26$| |4|无特殊限制|$34$|