第十四届蓝桥杯青少组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;
}
相关推荐
祁同伟.6 分钟前
【OJ】二叉树的经典OJ题
数据结构·c++·算法·容器·stl
mit6.8249 分钟前
list
c++
满天星830357713 分钟前
【C++/STL】哈希表的模拟实现+封装
c++·哈希算法·散列表
骁的小小站3 小时前
Verilator 和 GTKwave联合仿真
开发语言·c++·经验分享·笔记·学习·fpga开发
旭意7 小时前
C++蓝桥杯之结构体10.15
开发语言·c++
深思慎考8 小时前
调用百度云语音识别服务——实现c++接口识别语音
c++·语音识别·百度云
K 旺仔小馒头9 小时前
优选算法:01 双指针巧解移动零问题
c++·算法·刷题
AlexMercer101210 小时前
Ubuntu从零开始配置Git
c++·git·ubuntu·gitee
无敌最俊朗@11 小时前
C++ STL Deque 高频面试题与答案
开发语言·c++
和编程干到底12 小时前
C++基础
开发语言·c++