这个题目就是简单的找规律

可以先用sort给他排序一下,然后你发现从大到小,那个所剩余的土地,是需要大于,你可以建交的国家的 数量的,答案就出来了

#include<bits/stdc++.h>
using namespace std;
const int MAX=100010;
int main()
{
    int a[MAX]={0};
    int n;
    cin>>n;
    int m;
    for(int i=0;i<n;i++){
        cin>>m;
        a[MAX]={0};
        for(int j=0;j<m;j++){
            cin>>a[j];
        }
        sort(a,a+m);
        for(int j=0;j<m;j++){
            if((m-j)<=a[j]){
                cout<<(m-j)<<endl;
                break;
            }
        }
    }
    return 0;
}