思路:可以先进行排序,然后从后往前找前面的人数加起来是否满足 大于等于第 i 个老奶奶的要求
如果满足,那么就是答案了
以下是代码实现:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void solved()
{
int n;
cin>>n;
vector<int>vt;
for(int i=1;i<=n;i++)
{
int num;
cin>>num;
vt.push_back(num);
}
long long sum=1;
int len=vt.size();
sort(vt.begin(),vt.end());
for(int i=len-1;i>=0;i--)
{
if(sum+i>=vt[i])
{
sum+=i+1;
break;
}
}
cout<<sum<<endl;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t;
cin>>t;
while(t--)
{
solved();
}
return 0;
}