Create longest-valid-parentheses.cpp

A right parentheses will pair with the nearest left parentheses that appears before it.
So use stack to store the position of left parenthesis, and pop the stack once there forms a valid pair.
Check valid pair while first scan, then count longest length in second scan.
For the max length, there must be a consecutive sequence of valid pairs.