CF1579D Productive Meeting

题目描述

有 $n$ 个人被邀请参加一个即将召开重要会议。在会议中,任意两个人可以社交,相同的两个人可以社交任意次。 $n$ 个人中,每个人都有一个社交能力值,其中第 $i$ 个人的社交能力值是一个非负整数 $a_i$,它表示这个人可以与另一个人社交的次数。 在一个会议中,产生的社交次数越多,这次会议就会被认为越有效。具体地,一个会议的有效程度为这次会议进行时产生的社交次数。 给你序列 $a$,求出一次会议的最大有效程度,要求给出任意一种可以产生这个最大有效程度的方案。

输入格式

多组数据。 第一行一个数 $t$ ,表示该测试点包含的测试样例数目。 接下来 $2t$ 行,描述了每一个测试用例。 每一组测试用例由两行组成: 1. 一个整数 $n$ ,表示参加这次会议的人数。

输出格式

对于每一组测试用例: 先输出一行一个数,表示这次会议的最大有效程度 $p$。 然后是 $p$ 行,每一行包含两个整数 $i,j$ ,表示在你的方案中,编号为 $i$ 的人和编号为 $j$ 的人进行了一次社交。

说明/提示

$1\leq t\leq 10^3,2\leq n\leq 2\times 10^5$。 另外,保证对于所有测试样例中的 $n,a_i$,其和不超过 $2\times 10^5$。