在线等@
by EurekaStriker @ 2022-11-09 16:47:19
@[lovelyseele](/user/779995) 救我,能想到活跃的大佬就你了
by EurekaStriker @ 2022-11-09 16:57:15
草艾特我干啥
我看看
by xx3333333333333 @ 2022-11-09 16:59:59
@[EurekaStriker](/user/469470) 你这不是样例都过不了嘛/yiw
by xx3333333333333 @ 2022-11-09 17:03:47
他跑了(笑)
by adolphshi @ 2022-11-09 17:07:26
@[EurekaStriker](/user/469470) https://www.luogu.com.cn/record/93374792
by xx3333333333333 @ 2022-11-09 17:13:01
```
#include<bits/stdc++.h>
using namespace std;
long long n,k,ans,f[250010],a[250010],h=1,r=1,q[250010],sum[250010];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]),sum[i]=sum[i-1]+max(a[i],(long long)0); // lld。。。
f[1]=a[1];
for(int i=2;i<=n;i++)
{
while(h<=r&&i-q[h]>k) h++;
f[i]=a[i]+a[i-1]+f[q[h]]+sum[i-2]-sum[q[h]];
while(h<=r&&f[i-1]-sum[i-1]>=f[q[r]]-sum[q[r]])
r--;
q[++r]=i-1; // i-1.。。
}
for(int i=1;i<=n;i++)
ans=max(f[i]+sum[min(i+k-1,n)]-sum[i],ans);
cout<<max(ans,sum[k]);
return 0;
}
```
by xx3333333333333 @ 2022-11-09 17:13:32
好了,调这个代码已经花费了我 15min 的时间,我要回去写题了。
by xx3333333333333 @ 2022-11-09 17:15:25
@[lovelyseele](/user/779995) 艹,大艹,吃了个饭
by EurekaStriker @ 2022-11-09 17:22:48
@[EurekaStriker](/user/469470) 所以你到底是怎么做到用 `%d` 读入 `long long` 还没发现的啊??????
by xx3333333333333 @ 2022-11-09 17:23:54