第十四届蓝桥杯青少组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;
}
相关推荐
ShineWinsu11 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
码匠许师傅11 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
旖旎夜光12 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒12 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
hy.z_77713 小时前
【C++】13. 继承
c++
汉字萌萌哒14 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
2401_8906034014 小时前
C++ 继承
c++
果果燕15 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
老洋葱Mr_Onion15 小时前
【C++】信息学奥赛CSP通关之路——CSP-J/S第一轮原创全真模拟试卷集(2026)卷四全卷解析
开发语言·c++
布莱克60515 小时前
理解 C/C++ 中的 void* 指针
c语言·c++