Here's a fun algorithm to solve this. The idea is that the employee's schedule is actually a sequence of talks, such that every adjacent talk in this sequence overlaps or touch each other. Thus, we can model this as a graph, where adjacent or touching talks have edge between them.
More formally, let's say we have $N$ talks, numbered $1$ through $N$. Let $S_i$ be the stressfulness of talk $i$. Create a graph with $N+2$ nodes: $N_i$, which corresponds to talk $i$, $N_s$, and $N_e$ (start and end node, respectively). Now, what we would like is to model the problem as a shortest path problem from $N_s$ to $N_e$, in such way that a path corresponds to a sequence of talks. For each pair of talks $N_i$ and $N_j$ that overlaps or touch each other, we create two directed edges, one from $N_i$ to $N_j$, with weight $S_j$, and another from $N_j$ to $N_i$ with weight $S_i$. Thus, we can imagine paying the "stress" when we enter the talk.
In addition, we create edge from $N_s$ to those talks that begin at time $0$, and from the talks that ends at time $L$ to $N_e$. The shortest path in this graph from $N_s$ to $N_e$ then gives the sequence of talks the poor employee must attend.
(Note that this does not work if any of the "stress" of the talks is negative)
It is possible to modify the "classical" dynamic programming algorithm for one set of numbers to remember the solutions it computes (although this might result in a combinatorial explosion...).
Afterwards, you may run it for the first equation (check if there is a subset of $a_1, \ldots, a_n$ that sums up to $c_1$), and then check if any of the found solutions work for $b_1, \ldots, b_n$ and $c_2$.
Best Answer
I hope this helps $\ddot\smile$