The approach is correct. Contrary to the title of the question, the $c$'s are designated as constants. So $Y_i$ has the distribution of $X_i$ but with a ceiling, and each time we hit the ceiling, the probability is allocated to $c_i$. So the distribution function is indeed
$$\begin{align*}
F_{Y_i}(y) &= 1 - e^{-\lambda y} &0 \leq y < c_i \\
F_{Y_i}(y) &= 1 &y = c_i
\end{align*}$$
The density is likewise step-wise, i.e.
$$\begin{align*}
f_{Y_i}(y) &= \lambda e^{-\lambda y} &0 \leq y < c_i \\
f_{Y_i}(y)=1-F_{Y_i}(y\mid y<c_i) &= e^{- \lambda y} &y = c_i
\end{align*}$$
which "integrates to unity" alright since (skipping formalities)
$$\int_{S_{Y_i}}f_{Y_i}(y)dy = \int_0^{c_i}\lambda e^{-\lambda y}dy + e^{- \lambda c_i} = - e^{-\lambda y} \Big |_0^{c_i}+ e^{- \lambda c_i} = -e^{- \lambda c_i} +1 +e^{- \lambda c_i} =1$$
Note that the density is discontinuous, except if $\lambda =1$.
As long as the $X_i$'s are assumed independent, your joint likelihood function is correct (just make the $y$'s lower-case), and it is a standard case of a likelihood function "regulated" by an indicator function. Note that there may be a small conceptual hurdle: if we observe $y_i = c_i$, does this mean that $y_i = x_i$ or not? Since $X_i$ is continuous and the probability of it acquiring a specific value is zero, we treat the case $Y_i = c_i$ as implying that $Y_i \neq X_i$. Your indicator function is equivalent to $\Delta_i = \textbf{1} \{ y_i <c_i \}$, totally deterministic, given the sample.
If you want to proceed with estimation, you are presumed to know the $c$-constants (otherwise, you do not have enough data to estimate them). You also have a sample of $y_i$'s. Given these, you can create the indicator function series. Then the MLE for $\lambda$ will run as an iterative numerical estimation procedure. What, were you hopping to obtain an analytical solution?
To verify that your gradient is correct, assume that you obtain a sample of $y_i$'s in which $y_i<c_i,\; \forall i$. Then $\Delta_i =1,\; \forall i$ and the gradient becomes
$$
\frac{ \mathrm{d} \log \mathcal{L}(\lambda)}{ \mathrm{d} \lambda} = -\sum_{i = 1}^n \frac{( \lambda y_i - 1)}{\lambda } = 0 \Rightarrow \frac 1 {\lambda} = \frac 1n \sum_{i = 1}^n y_i $$
which is as it should, since, if all $y_i$ -realizations are below the ceiling, then the $Y_i$'s are treated as proper exponential variables themselves, and the ceilings, being non-binding, do not affect the estimation.
Tip: You can find a CDF, but not a pdf, for all points on the support.
Notice that $Y$ will have a support of the interval $[-\tfrac 12;\tfrac 14]$, but will have a probability mass at the two end points, with a probability density in the interval between. It is a mixed distribution.
That is $~\mathsf P(Y{=}-\tfrac 12)~=~\mathsf P(-1{\leq}X{<}-\tfrac 12)~$ and $~\mathsf P(Y{=}\tfrac 14)~=~\mathsf P(\tfrac 14{<}X{\leq}1)~$.
So then
$$F_Y(a)~=~\mathsf P(Y\leq a) ~=~ \begin{cases} 0 &:& a<-\tfrac 12\\ \tfrac {2a+3}4 & : & -\tfrac 12\leq a < \tfrac 14 \\ 1 &:& \tfrac 14 \leq a \end{cases}$$
If you've peeked, notice the step discontinuities.
Best Answer
Let $Y=\min(1, X)$. We find $F_Y(y)$.
If $y\le 0$, then $$F_Y(y)=\Pr(Y\le y)=\Pr(\min(1,X)\le y)=\Pr(X\le y)=0.$$
Now let $0\lt y\lt 1$. Then $$F_Y(y)=\Pr(Y\le y)=\Pr(\min(1,X)\le y)=\Pr(X\le y)=1-e^{-y}.$$
If $y\ge 1$, then for sure $\min(1,X)\le 1$, and therefore $F_Y(y)=1$.
Note that $Y$ does not have continuous distribution. The function $F_Y(y)$ is continuous almost everywhere, but there is a sudden jump at $1$. There is a point mass at $1$, which is equal to the probability $e^{-1}$ that $X\ge 1$.
We leave it to you to do max. The analysis is similar to the one for min.