Problem solving in cpp