给出一个长度为n的数组a1,a2,...,an,假如你从x点出发(初始区间为[x,x],初始价值为ax),每到
达一个点就把这个点加入到区间内并获得当前点的价值,每次能将当前所拥有的区间向右或者向左扩展
一个(不能超过边界),且被拓展的位置的值一定要大于当前所拥有的价值之和。
定义dfs(l,r,sum)表示当前左边界为l(不包含),有边界为r(不包含),总计和为sum的情况。
则下一步考虑向左或者向右搜索,即dfs(l−1,r,sum+a[l])或者dfs(l,r+1,sum+a[r])。
当然,l和r不能超过数组的左右边界。
由于1≤ai≤109,且每次均只能加比自己大的数,因此最多仅能扩展30次(230=1073741824)