Solution
= Solution
<Shannon noiseless coding theorem> says the minimum expected binary prefix-code length $L$ satisfies $H(X)\le L<H(X)+1$. Kraft and Gibbs give $H\le L$ for every prefix code. Taking lengths $\ell_i=\lceil-\log_2p_i\rceil$ satisfies Kraft because $\sum2^{-\ell_i}\le1$, and gives $L<\sum p_i(-\log_2p_i+1)=H+1$.