题解 | 空间跃迁

空间跃迁

https://www.nowcoder.com/practice/e6ff2b0bf309412fb491e3276fb9f305?tpId=385&tqId=2022327&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D383%26type%3D383

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+1;
long long a[N],f[N];
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=1;i<n;i++){
        cin>>a[i];
    }
    long long sum=0;
    if(k==0){
        for(int i=1;i<n;i++){
            sum+=a[i];
        }
        cout<<sum<<endl;
        return 0;
    }
    else if(n-1>k){
        long long max_j=0;
        for(int i=1;i<n;i++){
            f[i]=f[i-1]+a[i];
        }
        for(int i=1;i<=n-k;i++){
            max_j=max(f[i+k]-f[i],max_j);
        }
        sum=f[n-1]-max_j;
        cout<<sum<<endl;
    }
    else{
        cout<<0<<endl;
    }
    return 0;
}

全部评论

相关推荐

03-28 20:13
东南大学 Java
2的三次幂:第一个项目写的太简略了,可以结合业务背景写下细节,第二个太冗余了,缺乏量化指标,一眼玩具
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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