第十四届蓝桥杯青少组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;
}
相关推荐
快乐zbc17 小时前
【C++ 基础】:给定一个指针 p,你能判断它是否指向合法的对象吗?
c++
sulikey17 小时前
C++类和对象(下):初始化列表、static、友元、内部类等核心特性详解
c++·static·初始化列表·友元·匿名对象·内部类·编译器优化
oioihoii18 小时前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
开发语言·网络·c++
笨鸟要努力18 小时前
Qt C++ windows 设置系统时间
c++·windows·qt
神仙别闹19 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
AA陈超1 天前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
xlq223221 天前
22.多态(下)
开发语言·c++·算法
不会c嘎嘎1 天前
【数据结构】AVL树详解:从原理到C++实现
数据结构·c++
AKDreamer_HeXY1 天前
ABC434E 题解
c++·算法·图论·atcoder
罗湖老棍子1 天前
完全背包 vs 多重背包的优化逻辑
c++·算法·动态规划·背包