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: 1772kB
Author: 2018212212064
In contest: 1292

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <string>
#include <iostream>
#include <list>
#include <cstdlib>
#include <bitset>
#define lowbit(x) (x&(-x))
#define lson root<<1,l,mid
#define rson root<<1|1,mid+1,r
const long long INF = 0x3f3f3f3f3f3f3f3fLL;
const int inf = 0x3f3f3f3f;
using namespace std;
const int maxn = 110;
double r[maxn];
int main()
{
	int T;
	scanf("%d", &T);
	while (T--)
	{
		double x, y;
		int n;
		scanf("%lf%lf%d", &x, &y, &n);
		for (int i = 0; i < n; ++i)
			scanf("%lf", i + r);
		sort(r, r + n, greater<double>());
		int ans = 0;
		for (int i = 0; i < n && x>0 && y / 2 < r[i]; ++i, ++ans)
		{
			x -= 2 * sqrt(r[i] * r[i] - (y / 2) * (y / 2));
		}
		if (x > 0)
			puts("-1");
		else
			printf("%d\n", ans);
	}
//	system("pause");
}