第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(2 、寻宝石)

参考程序:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
  

    int N;
    cin >> N;        // 读入盒子数
    vector<int> a(N);
    for (int i = 0; i < N; ++i) cin >> a[i];   // 读入每个盒子的宝石数

    // N >= 3(题目保证),先计算第一个长度为3的窗口和
    int curr = a[0] + a[1] + a[2];
    int maxSum = curr;

    // 滑动窗口:从第4个数开始,每次把窗口向右移动一格
    // 新窗口和 = 旧窗口和 + 新进来的数 - 离开的数
    for (int i = 3; i < N; ++i) {
        curr += a[i];         // 加上新进来的盒子的宝石数
        curr -= a[i - 3];     // 减去离开窗口(最左侧)的盒子的宝石数
        if (curr > maxSum) maxSum = curr;
    }

    cout << maxSum << '\n';
    return 0;
}
相关推荐
fqbqrr6 小时前
2601C++,cmake与导入
c++
fqbqrr7 小时前
2601C++,编写自己模块
c++
王老师青少年编程10 小时前
2025年12月GESP真题及题解(C++七级): 城市规划
c++·gesp·csp·信奥赛·七级·csp-s·提高组
寻星探路11 小时前
【算法专题】滑动窗口:从“无重复字符”到“字母异位词”的深度剖析
java·开发语言·c++·人工智能·python·算法·ai
我叫袁小陌12 小时前
C++多线程全面详解
开发语言·c++
m0_7482500312 小时前
C++ 官方文档与标准
开发语言·c++
matlabgoodboy13 小时前
程序代做python代编程matlab定制代码编写C++代写plc设计java帮做
c++·python·matlab
DYS_房东的猫13 小时前
《 C++ 零基础入门教程》第6章:模板与 STL 算法 —— 写一次,用万次
开发语言·c++·算法
点云SLAM13 小时前
C++ 静态初始化顺序问题(SIOF)和SLAM / ROS 工程实战问题
开发语言·c++·slam·静态初始化顺序问题·工程实战技术·c++static 关键字
pen-ai14 小时前
打通 Python 与 C++ 的参数传递机制
开发语言·c++·python