#include<algorithm> (5863)#include<iostream> using namespace std; int S(int s[], int c) { if(c==0) return 0; else return S(s, c-1)+s[c-1]; } int main() { int m; scanf("%d", &m); while(m--) { int a, b, c, d, sum, maxn[100001], j, k, l, M; scanf("%d %d", &a, &b); int s[100001]; for (j = 0; j < a; j++) scanf("%d", &s[j]); for (k = 0; k <= a-2*b+1; k++) { c=S(s, k+b)-S(s, k); maxn[k]=max(maxn[k+1], S(s, k+2*b)-S(s, k+b)); M=max(c+maxn[k], c+maxn[0]); } printf("%d\n", M); } return 0; } 根据题解做的,我不知道该怎么再降低复杂度了,还是时间超限,求求大神们指导一下

相关推荐

点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务