私の题解
数学考试
http://www.nowcoder.com/questionTerminal/e1e3e65479114efb9c68b1fe7db11b34
直白思路:处理出sum[i]表示a[i]一直到a[i+k-1]的和,对于n道题来说,一共有sum数组有n-k+1个值,现在的难点就是在这个sum数组里面找两个不相邻的值,相加使之最大。
用manx维护之前出现的最大sum,在于现在循环到的sum[i]相加判断是否为最大值
for (int i = k+1; i <=n-k+1 ; ++i) { maxn=max(maxn,sum[i-k]); ans=max(ans,maxn+sum[i]); }