c++ solution for problem 1