class Solution:
def maxValue(self, n: int, index: int, maxSum: int) -> int:
def test(a):
b=max(a-index,1)
res =(a+b)*(a-b+1)/2
b=max(a-(n-1-index),1)
res+=(a+b)*(a-b+1)/2
return res-a
maxSum-=n
left,right=0,maxSum
while left<right:
mid=(left+right+1)//2
if test(mid)<=maxSum:
left=mid
else:
right=mid-1
return left+1
非负数,a计算两次