Could you elaborate on the P versus NP problem, including what it takes for a problem to be solved in polynomial time?