본문 바로가기

IT/알고리즘

[백준] 14225번 부분수열의 합

728x90
SMALL

 

https://www.acmicpc.net/problem/14225

 

fun main() = with(Scanner(System.`in`)) {
    val size = nextInt()
    val array = Array(size) { 0 }
    for (i in 0 until size) {
        array[i] = nextInt()
    }

    val sum = array.sum()
    val isVisit = Array(sum + 1) { false }
    array.sort()

    fun dfs(depth: Int, sum: Int) {
        isVisit[sum] = true
        for (i in depth until size) {
            dfs(i + 1, sum + array[i])
        }
    }
    dfs(0, 0)

    val index = isVisit.indexOfFirst { !it }.takeIf { it != -1 } ?: (sum + 1)
    println(index)
}

 

728x90
LIST

'IT > 알고리즘' 카테고리의 다른 글

[백준] 16917 양념 반 후라이드 반  (0) 2024.12.11
[백준] 11651번 좌표정렬하기_2  (3) 2024.12.09
[백준] 차량번호판  (0) 2024.12.05
[백준] 적록 색약  (1) 2024.12.04
[백준] 소수 경로  (1) 2024.12.02