这题是TopCoder上的原题,题解:
https://blog.csdn.net/guhaiteng/article/details/53014576