class Solution(object):
def stoneGame(self, piles):
"""
:type piles: List[int]
:rtype: bool
"""
length = len(piles)
if length == 2:
return True
dp=[ [None for _ in range(length)] for x in range(length) ]
for i in range(length):
dp[i][i]=piles[i]
for span in range(1,length):
for i in range(0,length-span):
dp[i][i+span]=max( piles[i]-dp[i+1][span+i],piles[span+i]-dp[i][i+span-1] )
return dp[0][-1]>0
# print Solution().stoneGame([5, 3, 4, 5])