def getPoolSize(array):
topVertex = None
poolSize = 0
for i in xrange(1, len(array)-1):
if not topVertex:
topVertex = i
continue
# The end of pool
if array[i] >= array[topVertex]:
topVertex = i
poolSize += array[topVertex] - array[i]
return poolSize
if __name__ == "__main__":
poolsArrays = ( [2, 5, 1, 2, 3, 4, 7, 7, 6],
[2, 5, 1, 3, 1, 2, 1, 7, 7, 6],
[2, 5, 1, 5, 1, 5] )
for pool in poolsArrays:
print ( getPoolSize(pool) )
ZGVmIGdldFBvb2xTaXplKGFycmF5KToKICAgIHRvcFZlcnRleCA9IE5vbmUKICAgIHBvb2xTaXplID0gMAoKICAgIGZvciBpIGluIHhyYW5nZSgxLCBsZW4oYXJyYXkpLTEpOgogICAgICAgIGlmIG5vdCB0b3BWZXJ0ZXg6CiAgICAgICAgICAgIHRvcFZlcnRleCA9IGkKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgIyBUaGUgZW5kIG9mIHBvb2wKICAgICAgICBpZiBhcnJheVtpXSA+PSBhcnJheVt0b3BWZXJ0ZXhdOgogICAgICAgICAgICB0b3BWZXJ0ZXggPSBpCgogICAgICAgIHBvb2xTaXplICs9IGFycmF5W3RvcFZlcnRleF0gLSBhcnJheVtpXSAKCiAgICByZXR1cm4gcG9vbFNpemUKCgppZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgcG9vbHNBcnJheXMgPSAoIFsyLCA1LCAxLCAyLCAzLCA0LCA3LCA3LCA2XSwKICAgICAgICAgICAgICAgICAgICBbMiwgNSwgMSwgMywgMSwgMiwgMSwgNywgNywgNl0sCiAgICAgICAgICAgICAgICAgICAgWzIsIDUsIDEsIDUsIDEsIDVdICkKICAgIGZvciBwb29sIGluIHBvb2xzQXJyYXlzOgogICAgICAgIHByaW50ICggZ2V0UG9vbFNpemUocG9vbCkgKQoKICAgIA==