1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=25; int s[N]; bool check(int x) { if(x<2) return false; for(int i=2;i<=x/i;i++) { if(x%i==0) return false; } return true; } int main() { int n,k; cin>>n>>k; int ans=0; for(int i=0;i<n;i++) cin>>s[i]; for(int i=0;i<1<<n;i++) { bitset<32> a(i); if(a.count()==k) { int sum=0; for(int j=n-1;j>=0;j--) { if(a[j]==1) { sum+=s[j]; } } if(check(sum)) ans++; } } cout<<ans; return 0; }
- 1
Information
- ID
- 2755
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 8
- Accepted
- 5
- Uploaded By