Start: Jul, 03, 2019 08:38:00
2019年度暑期短学期第七天 助教场
End: Jul, 04, 2019 23:00:00
Time elapsed:
Time remaining:

Problem_ID: F
Result: Accepted
Time: 3ms
Memory: 1776kB
Author: 2018212212161
In contest: 1292

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 1e3 + 5;
const int inf=0x3f3f3f3f;

double a[maxn];

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		double x,y;
		scanf("%lf %lf %d",&x,&y,&n);
		for(int i=1;i<=n;i++)
		{
			scanf("%lf",&a[i]);
		}
		sort(a+1,a+1+n);
		for(int i=n;i>=1;i--)
		{
			if(2*a[i]<y&&x>0)
			{
				printf("-1\n");
				break;
			}
			a[i]=2*sqrt(a[i]*a[i]-(y/2)*(y/2));
			x-=a[i];
			if(x<=0)
			{
				printf("%d\n",n-i+1);
				break;
			}
			if(x>0&&i==1)
			{
				printf("-1\n");
				break;
			}
		}

	}
}