Your question is Ten Puzzles and Optimization. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Draw a class diagram for the question asked, and solve the 10-minute puzzle set; include C++ code and discuss optimized solutions in Quintiq.