the 4th part...I don't really understand what they're asking for :S
When A strikes the ground, B continues to rise against gravity until it reaches its maximum point where
v = 0. Then B starts to descend due to its weight. String becomes taut again when B reaches the level it started to rise against gravity, i.e at the time when A touched the ground earlier.
In other words, you need to find the time taken the particle B takes to reach its maximum height as from when A strikes the ground. Multiply it by
2 since for the string to become taut again, B covers twice this distance(once upwards and then downwards) and during the same time.
For the required solution you need to add the value you obtain to your answer in part(ii)

Hope it helps

If you still cannot do it, let me know
