#include<iostream>
#include<cmath>
using namespace std;
/**
判断一个正数 数组中的数是否可以组合起来 为一个给定的值 如果可以返回true
*/
const int N=1010;
int a[N];
int dp[N][100];
//递归解法 从小标0开始到达i 判断是否可以有构成和为的s数
bool fun(int i,int s){
if(s==0) return true;
else if(i==0)//到达第一个
return a[0]==s;//如果第0个刚好等于s 则返回true 不行则返回false
else if(a