站外题(也就是CF2028C弱化版(只有一组数据))求助!
蒟蒻50个点竟只对了17个!!!
救命!!!
#include<bits/stdc++.h>
using namespace std;
int n,m,v,a[200005],pre[200005],suf[200005];
long long sum[200005];
int main(){
cin>>n>>m>>v;
for(int i=1;i<=n;i++)cin>>a[i];
long long s=0;
for(int i=1;i<=n;i++){
s+=a[i];
if(s>=v){
pre[i]=pre[i-1]+1;
s=0;
}else{
pre[i]=pre[i-1];
}
}
s=0;
for(int i=n;i>=1;i--){
s+=a[i];
if(s>=v){
suf[i]=suf[i-1]+1;
s=0;
}else{
suf[i]=suf[i-1];
}
}
for(int i=1;i<=n;i++)sum[i]=sum[i-1]+a[i];
long long ans=-1;
for(int i=1;i<=n;i++){
if(pre[i]+suf[i+1]>=m){
int l=0,r=i;
while(l<=r){
int md=(l+r)/2;
if(pre[md]+suf[i+1]<m)l=md+1;
else r=md-1;
}
ans=max(ans,sum[i]-sum[l]);
}
}
cout<<ans;
return 0;
}