Pingpang Balls

在双鱼的乒乓球上一般都会标有三星,二星,或者一星的字样,星级越高就表示球的质量越好。

星级的评定和球的重量,直径,硬度等很多因素有关,不过在这里,我们只考虑球的重量对星级评定产生的影响。

乒乓球有一个标准的重量S,如果球的重量和标准越接近,星级就会越高。具体来讲,对于球的重量和S的差的绝对值,如果小于或等于D1,那么这个球就会被标为三星,如果大于D1且小于或等于D2,那么就会被标为二星,如果大于D2且小于或等于D3就会被标为一星,如果大于D3则不对其标星(D1 < D2 < D3)。

现在给你N个乒乓球,你需要计算其中各个星级的乒乓球各有多少个。

Input

输入的第一行包含一个整数T (1 <= T <= 20),表示接下来一共有T组测试数据。

对于每组数据,第一行包含5个整数N (1 <= N <= 10), S (1 <= S <= 20), D1, D2, D3 (1 <= D1 < D2 < D3 <= 20),含义同上。接下来一行包含N个不大于20的正整数,依次描述了各个乒乓球的重量。

Output

对于每组数据,用一行输出三个整数,中间用空格隔开,分别表示N个球中三星,二星和一星的球各有多少个。

Sample Input
2
5 10 1 2 3
6 7 9 9 10
6 10 1 2 3
11 12 12 13 14 8
Sample Output
3 0 1
1 3 1	
水题。。。。
#include
#include
using namespace std;
int main()
{
	int T,n,s,d1,d2,d3,i,a[4],b,c;
	cin>>T;
	while (T--)
	{
		for (i=1;i<4;i++) a[i]=0;
		cin>>n>>s>>d1>>d2>>d3;
		for (i=1;i<=n;i++)
		{
			cin>>b;
			c=abs(s-b);
			if (c<=d1) a[1]++;
			else if (c<=d2) a[2]++;
			else if (c<=d3) a[3]++;
		}
		cout<

你可能感兴趣的:(Pingpang Balls)