1200*A. Trust Nobody(贪心)

Problem - 1826A - Codeforces

1200*A. Trust Nobody(贪心)_第1张图片

解析:

        从大到小枚举说谎人的个数x,然后查看是否有 x个人说谎即可。

#include
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;
}

你可能感兴趣的:(codeforces,算法,c语言,开发语言,c++,贪心)