Denote by $C(x)$ the plain Kolmogorov complexity of $x$ and let $x$ satisfy $C(x) \ge n - O(1)$ with $n = |x|$. If $x = yz$ with $|y| = |z|$ show that $C(y), C(z) \ge n/2 - O(1)$.
Any ideas how to solve this? If I can construct a Turing machine which just uses a shortest program for one of the strings $y$ or $z$, for example $y$, and an input of length at most $n/2$ to produce $x$ then the problem would be solved, as then $C(x) \le C(y) + n/2$ and so $C(y) \ge C(x) - n/2 = n - O(1) - n/2 = n/2 - O(1)$. But I have no idea how such an algorithm should work?
This is Exercise 2.2.2 (a) from An Introduction to Kolmogorov Complexity and Its Applications.