Result: Accepted
Time: 3ms
Memory: 1776kB
#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;
}
}
}
}