Minimum 1's to get 1-expression for n Background

Challenge is inspired by this question.

The 1-expression is a formula that in which you add and multiply the number 1 any number of times. Parenthesis is allowed, but concatenating 1's (e.g. 11) is not allowed.

Here is an example to get the 1-expression for \$19\$:

(1+1)*(1+1)*(1+1+1+1)+1+1+1 = 19


Total number of \$1\$'s is \$11\$ but there is shorter than this:

(1+1)*(1+1+1)*(1+1+1)+1 = 19


Total number of \$1\$'s is \$9\$.

Program

Given a positive integer n output the minimum 1's to get the 1-expression for n.

Notes:


For reference, the sequence is A005245.
This is code-golf so shortest answer in each language wins!


Test cases

Input -&gt; Output | 1-Expression
1 -&gt; 1 | 1
6 -&gt; 5 | (1+1+1)*(1+1)
22 -&gt; 10 | (1+1)*((1+1+1+1+1)*(1+1)+1)
77 -&gt; 14 | (1+1)*(1+1)*((1+1+1)*(1+1+1)*(1+1)+1)+1
214 -&gt; 18 | ((((1+1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)
2018 -&gt; 23 | (((1+1+1)*(1+1)+1)*(1+1+1)*(1+1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
Wolfram Language (Mathematica), 76 71 bytes

If[#&lt;2,1,Min[#+Reverse@#&amp;/@{#0/@Range[#-1],#0/@Most@Rest@Divisors@#}]]&amp;


Try it online!

The recursive approach: define f[n] to be the minimum of f[k]+f[n-k]over all k less than n, and f[d] + f[n/d]over all divisors of n (other than 1 and n itself).