1200*A. Trust Nobody(贪心)
Problem - 1826A - Codeforces
解析:
从大到小枚举说谎人的个数x,然后查看是否有 x个人说谎即可。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int t,n,a[N];
signed main(){scanf("%lld",&t);while(t--){scanf("%lld",&n);int res=0;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}int f=0;for(int i=n;i>=0;i--){int cnt=0;for(int j=1;j<=n;j++){if(a[j]>i) cnt++;}if(cnt==i){printf("%lld\n\n",i);f=1;break;}}if(!f) printf("-1\n\n"); }return 0;
}