这次提高组的T1很水呀,前缀和就可以了,可是萌新在洛谷这里交上去是 0 分,和一些题解也都对拍拍过了,n=1000000 数据的拍了2小时都没出锅,求大佬找错,谢谢。
代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
char c=getchar();
int pd=1,res=0;
while(c<'0'&&c>'9'){
if (c=='-') pd=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
res=(res<<1)+(res<<3)+c-'0';
c=getchar();
}
return res*pd;
}
inline void write(int x){
if (x<0) putchar('-'),x=-x;
if (x>9) write(x/10);
putchar(x%10|'0');
}
inline void wlk(int x){
write(x);putchar(32);
}
inline void wln(int x){
write(x);putchar(10);
}
int a[1000003],s[1000003],ans=0;
signed main(){
freopen("kettle.in","r",stdin);
freopen("kettle1.out","w",stdout);
int n=read(),k=read();
for (int i=1;i<=n;++i) a[i]=read();
for (int i=1;i<=n;++i) s[i]=s[i-1]+a[i];
for (int i=k+1;i<=n;++i) ans=max(ans,s[i]-s[i-k-1]);
return wln(ans),0;
}
P.S:
我试过把 s 数组清空再交,可是还是 0 分,所以应该不是数组没初始化的问题。