I don’t see how to do that, especially given that it’s not a matter of meeting some threshold, but rather of maximizing a value that can grow arbitrarily.
Actually, you don’t even need the ways-to-arrange argument. Suppose I want to predict/control the value of a particular nonnegative integer (the number of cubbyholes), with monotonically increasing utility, e.g. . Then the encoding length of a given outcome must be longer than the code length for each greater outcome: . However, code lengths must be a nonnegative integer number of code symbols in length, so for any given encoding there are at most shorter code lengths, so the encoding must fail no later than .
Found it.