3450:查找-3

时间限制:1 S   /  内存限制:8192 KB
AC:76   /  Submit:129
问题描述

在一个数组中,想要看看是否有三个元素之和等于x,并且要知道总共有多少种不同的选择方法。注意,若a[i]、a[j]、a[k]之和等于x,称为一种选择方法,此时还是这三个下标的元素,调换顺序,例如a[j]、a[k]、a[i]不能称为另一种不同的选择方法。

输入描述

多组案例。一个正整数n,表示案例的数量。(n<=100)

每组案例先是两个正整数m和x,分别表示数组元素的个数,以及【问题描述】中的x。(3<=m<=100,|x|<=10000)

然后是m个整数。(绝对值均不大于10000)

输出描述

针对每组案例,如果数组中存在三个元素的和等于x,则输出Yes,然后输出一个空格,后面输出一个整数,表示有多少种不同的选择方法;否则输出No。

每组案例输出完要换行。

样例输入复制样例

2

4 10

1 2 3 4

5 10

1 2 3 4 5

样例输出

No

Yes 2


来源
2021级C++上机考

Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1