//这段代码只有60%通过率不知道为啥
    public static boolean dfs(int i, int sum, int[] arr) {
        if (sum > k)
            return false;
        if (i == n)
            return sum == k;

        if (dfs(i + 1, sum, arr)) {

            return true;
        }
        if (dfs(i + 1, sum + arr[i], arr)) {

            return true;
        }

        return false;
    }