5. Given two sets of real numbers $\Lambda-\left\{a_{1}, a_{2}, \cdots, a_{100}\right\}$ and $B=\left\{b_{1}, b_{2}, \cdots, b_{50} \mid\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 $(\quad)$.
A. $C_{100}^{50}$
B. $C_{101}^{50}$
C. $C_{100}^{49}$
D. $C_{99}^{49}$
5.13

Let $b_{1}<b_{2}<\cdots<b_{50}$, and 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 all $b_{i} (i=1,2, \cdots, 50)$. It is easy to see that such an $f$ satisfies the problem's requirements, and each such grouping corresponds to a mapping that meets 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, and the number of ways to divide $A$ is $C_{49}$, so there are $(\text{butterfly})$ such mappings, hence the answer is D.