#P1678. 组合+判断素数

    ID: 5291 传统题 1000ms 256MiB 尝试: 9 已通过: 5 难度: 3 上传者: 标签>递归深搜质数普及dfs素数筛数论分支结构

组合+判断素数

组合 + 判断素数

题目描述

已知 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n 以及一个整数 kkk<nk < n)。

nn 个整数中任选 kk 个整数相加,可分别得到一系列的和。例如当 n=4n=4k=3k=344 个整数分别为 3,7,12,193,7,12,19 时,可得全部的组合与它们的和为:

3+7+12=223+7+12=223+7+19=293+7+19=297+12+19=387+12+19=383+12+19=343+12+19=34

现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3+7+19=293+7+19=29

输入格式

第一行两个整数:n,kn,k1n201 \leq n \leq 20k<nk < n)。

第二行 nn 个整数:x1,x2,,xnx_1,x_2,\dots,x_n1xi50000001 \leq x_i \leq 5000000)。

输出格式

一个整数,表示满足条件的方案数。

样例 #1

4 3
3 7 12 19
1

数据范围

对于 100%100\% 的数据,1n201 \leq n \leq 20k<nk < n1xi50000001 \leq x_i \leq 5000000