반응형

 

 

<코드>

#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;

int N;
int check[2000001];
int seq[21];

void solve(int x, int sum)
{
	check[sum] = true;
	if (x == N) return;
	else{
		solve(x + 1, sum);
		solve(x + 1, sum + seq[x]);
	}
}

int main()
{
	cin >> N;

	for (int i = 0; i < N; i++)
		cin >> seq[i];
	
	solve(0, 0);

	int j = 1;
	while (check[j] == true) j++;
	cout << j;
}

 

 

 

www.acmicpc.net/problem/14225

 

14225번: 부분수열의 합

수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들

www.acmicpc.net

 

반응형

+ Recent posts