5 Given a set of real numbers $A=\left\{a_{1}, a_{2}, \cdots, a_{100}\right\}$ and $B=\left\{b_{1}\right.$, $\left.b_{2}, \cdots, b_{50}\right\}$, if the mapping $f$ from $A$ to $B$ makes each element in $B$ have a preimage, and
$$
f\left(a_{1}\right) \leqslant f\left(a_{2}\right) \leqslant \cdots \leqslant f\left(a_{100}\right)
$$

then the number of such mappings is ( ).
(A) $\mathrm{C}_{100}^{50}$
(C) $\mathrm{C}_{100}^{49}$
(D) $\mathrm{C}_{99} \rightarrow 2+1$
Let's assume $b_{1}<b_{2}<\cdots<b_{50}$. Divide the elements $a_{1}, a_{2}, \cdots, a_{100}$ of $A$ into 50 non-empty groups in order. Define the mapping $f: A \rightarrow B$ such that the image of the elements in the $i$-th group under $f$ is $b_{i}(i=1,2, \cdots, 50)$. It is easy to see that such an $f$ satisfies the problem's requirements. All such groupings correspond one-to-one with the mappings that satisfy the conditions. Therefore, the number of mappings $f$ that satisfy the problem's requirements is equal to the number of ways to divide $A$ into 50 groups in order, which is $\mathrm{C}_{99}^{49}$. Thus, there are $\mathrm{C}_{99}^{49}$ (mappings), so the answer is (D).