#CF1358B. 玛丽亚打破自我隔离

玛丽亚打破自我隔离

题目描述

每个测试的时间限制:2 秒
每个测试的内存限制:256 兆字节

玛丽亚是她所在楼里最活跃的老太太。她已经厌倦了呆在家里,决定组织一场反对新冠病毒的仪式。

她有 nn 个朋友(都是老太太,玛丽亚本人不计入这个数字)。第 ii 个老太太愿意参加仪式,前提是当她出现在院子里时,院子里至少有 aia_i 个其他老太太。请注意,老太太们可以同时进入院子。形式化地说,如果在此之前或同时进入院子的其他老太太的人数大于等于 aia_i,则老太太 ii 同意前来。

老太太们按照以下方式聚集在院子里:

  • 最初,只有玛丽亚在院子里(即初始院子里的人数为 11)。
  • 其余 nn 个老太太都在家。
  • 每一步,玛丽亚选择一个尚未进入院子的老太太子集。她向每个选中的老太太承诺,当她出现时,院子里至少有 aia_i 个其他老太太(包括玛丽亚)。玛丽亚可以同时叫来多个老太太,此时这些老太太会同时进入院子。
  • 她不能欺骗老太太,也就是说,如果第 ii 个老太太在进入院子的那一刻发现其他老太太(不包括她自己,但包括玛丽亚)的数量严格小于 aia_i,这种情况是不允许的。请注意,如果多个老太太同时进入院子,那么每个人在进入时都能看到其他同时进入的人。

你的任务是找出玛丽亚最多可以召集多少老太太(包括她自己)参加仪式。毕竟,在隔离期间,聚集的人越多,仪式就越有效!

考虑一个例子:如果 n=6n = 6a=[1,5,4,5,1,9]a = [1,5,4,5,1,9],那么:

  • 第一步,玛丽亚可以叫来编号为 1155 的老太太,她们每个人在进入院子时会看到 22 个人(注意 a1=12a_1 = 1 \le 2a5=12a_5 = 1 \le 2);
  • 第二步,玛丽亚可以叫来编号为 223344 的老太太,她们每个人在进入院子时会看到 55 个人(注意 a2=55a_2 = 5 \le 5a3=45a_3 = 4 \le 5a4=55a_4 = 5 \le 5);
  • 66 个老太太无法被叫来。因此,答案为 66(玛丽亚自己加上另外 55 个老太太)。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 输入中测试用例的数量。接下来是每个测试用例。

每个测试用例的第一行包含一个整数 nn1n1051 \le n \le 10^5)—— 老太太的数量(玛丽亚不计入此数)。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai2×1051 \le a_i \le 2 \times 10^5)。

保证所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,输出一个整数 kk1kn+11 \le k \le n+1)—— 院子里最多可能的老太太人数。

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

6
1
6
4

说明

  • 第一个测试用例:第一步玛丽亚就可以叫来所有老太太。她们每个人在进入时会看到 55 个人。因此,玛丽亚和另外 55 个老太太会在院子里。
  • 第二个测试用例:没有人能被叫来,所以玛丽亚独自一人待在院子里。
  • 第三个测试用例已在上面详细描述。
  • 第四个测试用例:第一步玛丽亚可以叫来编号为 112233 的老太太。如果第二步玛丽亚单独叫 4455 中的一个,那么当这位老太太出现时,她只会看到 44 个人(这是不允许的)。这意味着玛丽亚不能单独叫第 44 个或第 55 个老太太。如果她同时叫 4455,那么她们出现时会看到 4+1=54+1=5 个人。尽管这对第 44 个老太太来说足够,但第 55 个老太太不满意(a5=6>5a_5 = 6 > 5)。因此玛丽亚不能同时叫第 44 个和第 55 个老太太。所以总共有玛丽亚和第一步的三位老太太在院子里,共 44 人。