MLE求调
查看原帖
MLE求调
1345325
limingyue楼主2024/12/4 18:14
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e6+10;
int n,k,ans,m;
int a[25],b[25];
bool vis[25];
bool pri(int k){
	for(int i=1;i<=n;i++){
		if(k%i==0)
			return false;
	}
	return true;
}
void dfs(int x,int l){
	if(x>k){
		if(pri(l)){
			m=max(m,l);
			++ans;
			b[l]=1;
		}
	}
	for(int i=1;i<=n;i++){
		if(vis[a[i]]==0){
			vis[a[i]]=0;
			dfs(x+1,l+a[i]);
		}
	}
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	} 
	dfs(1,0);
	ans=0;
	for(int i=1;i<=N;i++)
		if(b[i]==1)
			ans++;
	cout<<ans;
	return 0;
}
2024/12/4 18:14
加载中...