#include <bits/stdc++.h>
int cmp(int a, int b)
{
return a>b;
}
int *a;
int main()
{
int t; std::scanf("%d", &t);
while(t--)
{
int n,k; std::scanf("%d%d", &n, &k);
a = new int[k];
for(int i=0; i<k; i++)
std::scanf("%d", &a[i]);
std::sort(a, a+k, cmp);
int ans=0, s=0;
for(int i=0; s<n-1; i++)
{
ans++;
s += n-a[i];
}
if(s>n-1) ans--;
std::printf("%d\n", ans);
}
return 0;
}
为什么会在第二个测试点挂掉。。。
谢谢