这题一开始暴力解,发现一直超时,还是我太年轻了。 以上是我的反面教材 后来看了评论区大佬的做法,发现有巧解。 思路分析: 1.子序列的长度是有个最大值的,设长度为len,那么子序列就为a+1,a+2…a+len, 那么运用等差数列的公式得,[(a+1)+(a+len)]len/2=M。那么M2=[(a+1)+(a+len)]len。 那么len<sqrt(M2); 2.进而推出了a=M/len-(len+1)/2; 3.贴上代码