红题都水不过,救救孩子吧~
  • 板块题目总版
  • 楼主Ruan_ji
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/8/1 12:16
  • 上次更新2023/10/27 17:32:00
查看原帖
红题都水不过,救救孩子吧~
405146
Ruan_ji楼主2022/8/1 12:16

这是我的代码,用前缀和写的。只得了8分,望各路大神指教,必关~

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN = 1000005;
long long n, k;
long long number[MAXN];
long long MAX, answer, T;
long long sum[MAXN];

int main () {
    cin >> n >> k;
    for (long long i = 1;i <= n - 1; ++i) {
        cin >> number[i];
    }
    sum[1] = 0;
    for (long long i = 2;i <= n; ++i) {
        sum[i] = sum[i - 1] + number[i - 1];
    }
    for (long long i = 1;i <= n - k; ++i) {
        long long num = 0;
        num = sum[i + k] - sum[i];
        if (num > MAX) {
            MAX = num;
            T = i;
        }
    }
    for (long long i = 1;i <= n - 1; ++i) {
        if (i == T) {
            i = i + k;
            continue;
        }
        answer += number[i];
    }
    cout << answer << endl;
    return 0;
}
2022/8/1 12:16
加载中...