数学考试

数学考试

https://ac.nowcoder.com/acm/problem/15553

include

long long hmax(long long m,long long n)
{
if(m>=n) return m;
else return n;
}
int main()
{
long long t,n,k,i,j,max;
long long a[200020],sum[200020],maxn[200020];
scanf("%lld",&t);
while(t--)
{
max=-1000000000000;
a[0]=0;
sum[0]=0;
scanf("%lld %lld",&n,&k);
for(i=1;i<=n;i++)
scanf("%lld",&a[i]);
for(i=1;i<=n;i++)
sum[i]=sum[i-1]+a[i];
for(i=n-k;i>0;i--)
{
if(i==n-k)
maxn[i]=sum[n]-sum[n-k];
else
{
maxn[i]=hmax(maxn[i+1],(sum[i+k]-sum[i]));
}
// printf("%lld ",maxn[i]);
}
for(i=0;i+2*k<=n;i++)
{
if(max<((sum[i+k]-sum[i])+maxn[i+k]))
max=(sum[i+k]-sum[i])+maxn[i+k];
}
printf("%lld\n",max);
}
return 0;
}

全部评论

相关推荐

苗条的伊泽瑞尔最喜欢...:同28届被压力了,电科✌就不能去卷算法吗?把Java留给我们双非卷
投递快手等公司10个岗位
点赞 评论 收藏
分享
安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务