
예제 입력 1
5 0
-7 -3 -2 5 8
예제 출력 1
1
if(arrange_count==input_count)
{
return 0;
}
if(sum_value+arrange_value[arrange_count]==input_sum)
{
output_count+=1;
}
check_num(sum_value,arrange_count+1);
check_num(sum_value+arrange_value[arrange_count],arrange_count+1);
return 0;
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int input_count;
int input_sum;
int output_count = 0;
vector <int> arrange_value;
int check_num(int sum_value,int arrange_count)
{
if(arrange_count==input_count)
{
return 0;
}
if(sum_value+arrange_value[arrange_count]==input_sum)
{
output_count+=1;
}
check_num(sum_value,arrange_count+1);
check_num(sum_value+arrange_value[arrange_count],arrange_count+1);
return 0;
}
int main()
{
cin>>input_count>>input_sum;
arrange_value.resize(input_count);
for(int i = 0 ; i<input_count;i++)
{
cin>>arrange_value[i];
}
check_num(0,0);
cout<<output_count;
}