Solution (source code)

= Solution

For each positive integer $m$, apply part (i) to the grid $D_m=\{j/m:0\leq j\leq m\}$. Intersect the resulting probability-one events over all $m$, a countable intersection. Work on this common event.

For $x\in[j/m,(j+1)/m]$, monotonicity of the <empirical distribution function> gives $F_n(j/m)\leq F_n(x)\leq F_n((j+1)/m)$. Consequently
$$
F_n(x)-x\leq F_n((j+1)/m)-(j+1)/m+1/m,
$$
and
$$
x-F_n(x)\leq j/m-F_n(j/m)+1/m.
$$
The endpoint $x=1$ is itself on the grid. Therefore
$$
\sup_{x\in[0,1]}|F_n(x)-x|
\leq\max_{t\in D_m}|F_n(t)-t|+\frac1m.
$$
For each fixed $m$, take the upper limit as $n\to\infty$; part (i) makes the maximum vanish. Then let $m\to\infty$. This proves
$$
\boxed{\sup_{x\in[0,1]}|F_n(x)-x|\longrightarrow0\quad\text{almost surely}.}
$$
This is the uniform-sample case of the <Glivenko-Cantelli theorem>, proved by a finite-grid approximation rather than assumed.