#CF3792. 迷失的排列

迷失的排列

题目描述

给定一个长度为 nn 的序列,如果它包含了 11nn 的所有整数并且每个整数只出现一次,那么它就被称为一个排列。例如,[3,1,4,2][3,1,4,2][1][1][2,1][2,1] 是排列,但是 [1,2,1][1,2,1][0,1][0,1][1,3,4][1,3,4] 不是。

光头强丢失了他最喜欢的排列,现在只找到了一些元素,即数字 b1,b2,,bmb_1,b_2,…,b_m。他确定这些丢失的元素的和为 ss

现在要求你判断是否可以将一些数字追加到 b1,b2,,bmb_1,b_2,…,b_m 后,使得它们的和为 ss,并且新的序列仍然是一个排列。

输入格式

输入的第一行包含一个整数 t(1t100)t(1≤t≤100)——测试用例的数量。

然后是每个测试用例的描述。

每个测试用例的第一行包含两个整数 mms(1m501s1000)s(1≤m≤50,1≤s≤1000)——找到的元素数量和遗忘数字的总和。

每个测试用例的第二行包含 mm 个不同的整数 b1,b2bm(1bi50)b_1,b_2…b_m(1≤b_i≤50)——光头强找到的元素。

输出格式

输出 tt 行,每一行对应一个测试集的答案。如果可以向数组 bb 添加若干个元素,使它们的和等于 ss,且得到的新数组是一个排列,则输出 YES。否则输出 NO

你可以输出任何形式的答案(例如,yEsyesYesYES 都将被视为正面答案)。

测试样例

5
3 13
3 1 4
1 1
1
3 3
1 4 2
2 1
4 3
5 6
1 2 3 4 5
YES
NO
YES
NO
YES

样例说明

在示例的测试用例中,m=3s=13b=[3,1,4]m=3,s=13,b=[3,1,4]。你可以在 bb 中添加数字 625,它们的和为 6+2+5=136+2+5=13。请注意,最终的数组将变为 [3,1,4,6,2,5][3,1,4,6,2,5],这是一个排列。

在示例的第二个测试用例中,m=1s=1b=[1]m=1,s=1,b=[1]。你无法添加一个或多个数字到 [1][1],使它们的和等于 11,并且结果是一个排列。

在示例的第三个测试用例中,m=3s=3b=[1,4,2]m=3,s=3,b=[1,4,2]。你可以在 bb 中添加数字 33。请注意,得到的数组将是 [1,4,2,3][1,4,2,3],这是一个排列。