# include <stdio.h>
int a[100];
int sum = 0;
int n;
int flag = 0;
int num = 0, m;
int Deepfind(int sum, int num)
{
if (sum == m)
{
flag = 1;
}
else
{
for (int i = 0 ; i < n; ++i)
{
if (flag == 1 || num >= n)
break;
Deepfind(sum,num + 1);
Deepfind(sum += a[i],num + 1);
}
}
}
int main()
{
int sum1 = 0;
scanf("%d",&n);
for (int i = 0; i < n ; ++i)
{
scanf("%d",&a[i]);
sum1 += a[i];
}
scanf("%d",&m);
if (sum1 > m)
{
Deepfind(sum,num);
if (flag == 1)
printf("YES\n");
else
printf("NO\n");
}
else if (sum1 == m)
printf("YES\n");
else
printf("NO\n");
return 0;
}
深搜
最新推荐文章于 2024-04-28 19:18:12 发布