求助,为啥TLE
查看原帖
求助,为啥TLE
742526
Rick_h楼主2022/11/13 11:20
#include<iostream>
#include<cstdio>
using namespace std;
int a[30];
bool check(int x){
	for(int i=2;i*i<=x;i++)
		if(x%i==0)return 0;
	return 1;
}
int main(){
	int n,k,ans=0;
	cin>>n>>k;
	for(int i=0;i<n;i++) scanf("%d",&a[i]);
	int u=1<<n;
	for(int S=0;S<u;S++)
		if(__builtin_popcount(S)==k){
			int sum=0;
			for(int i=0;i<n;i++)
				if(S&(1<<i)) sum+=a[i];
			if(check(sum)) ans++;
		}
	cout<<ans;
	return 0;
}

rt

2022/11/13 11:20
加载中...