前两个测试点A了。
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for (int i=a;i<=b;i++)
int n,k,ans=0;
int a[50];
bool isprime(int x)
{
if (x==1) return false;
for (int i=2;i<x;i++)
{
if (x%i==0) return false;
}
return true;
}
int main ()
{
cin>>n>>k;
for (int i=0;i<n;i++)
cin>>a[i];
int u=1<<n;
for (int s=0;s<u;s++)
{
int cnt=0,sum=0;
for (int i=0;i<n;i++)
{
if (s &(1<<i))
cnt++;
sum+=a[i];
}
if (cnt==k)
{
if (cnt==k && isprime(sum)==1)
ans++;
}
}
cout<<ans<<endl;
return 0;
}