当前位置: 首页 > news >正文

CCF CSP 第36次(2024.12)(2_梦境巡查_C++)

CCF CSP 第36次(2024.12)(2_梦境巡查_C++)

      • 解题思路:
        • 思路一:
      • 代码实现
        • 代码实现(思路一):

时间限制: 1.0 秒
空间限制: 512 MiB
原题链接
在这里插入图片描述

解题思路:

思路一:

1、解题步骤拆分:
① 数据输入:

  • 第一行输入一个整数 n
  • 第二行输入n+1个整数:a0,a1,…,an (ai代表消耗能量)
  • 第三行输入n个整数:b1,b2,…,bn (bi代表补充能量)

② 数据处理:
在这里插入图片描述

③ 数据输出:
输出仅一行,包含空格分隔的n 个整数 w(1),w(2),…,w(n)。

代码实现

代码实现(思路一):
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main() {int n;// 读取整数n,表示有n个补充能量的元素cin >> n;// 创建大小为n+1的vector a,存储消耗能量的值vector<int> a(n+1);// 输入消耗能量的值a0, a1, ..., anfor (int i = 0; i <= n; i++) {cin >> a[i];}// 创建大小为n+1的vector b,存储补充能量的值vector<int> b(n+1);// 输入补充能量的值b1, b2, ..., bnfor (int i = 1; i <= n; i++) {cin >> b[i];}// 创建一个大小为n+2的vector w,用于存储每个状态的能量值vector<int> w(n+2);// w[1]表示从第0个位置出发时的能量值,初始化为a[0]w[1] = a[0];// 计算每个位置的能量值w[i] = w[i-1] + a[i-1] - b[i-1]// 这里w[i-1]表示上一个位置的能量,a[i-1]表示当前消耗的能量,b[i-1]表示当前的补充能量for (int i = 2; i <= n+1; i++) {w[i] = w[i-1] + a[i-1] - b[i-1];}// 创建一个vector ans,用于存储最终的答案vector<int> ans;// 对于每个位置i,从1到n,求出可能的最大能量for (int i = 1; i <= n; i++) {// 记录从1到i之间能量值的最大值int pre_max = INT_MIN;for (int j = 1; j <= i; j++) {if (w[j] > pre_max) {pre_max = w[j]; // 更新前半部分的最大值}}// 记录从i+1到n+1之间能量值的最大值int rear_max = INT_MIN;for (int j = i+1; j <= n+1; j++) {if (w[j] > rear_max) {rear_max = w[j]; // 更新后半部分的最大值}}// 对于每个i,求出前半部分最大值与后半部分加上补充能量的最大值ans.push_back(max(rear_max + b[i], pre_max));}// 输出最终结果for (int i = 0; i < n; i++) {cout << ans[i]; // 输出每个答案元素if (i != n-1) {cout << " "; // 在每个数字之间输出空格,最后一个数字后不输出空格}}cout << endl; // 输出换行符
}

欢迎大家和我沟通交流(✿◠‿◠)

相关文章:

  • 初创企业机器学习训练:云服务器配置对效率、成本与可扩展性的影响
  • Python项目--基于机器学习的股票预测分析系统
  • 鸿蒙语言基础
  • c#开发大冲锋游戏登录器
  • OpenCV 中的分水岭算法的原理及其应用---图像分割的利器
  • day31和day32图像处理OpenCV
  • 《数据结构之美--链表oj练习》
  • 【最后203篇系列】028 FastAPI的后台任务处理
  • 第R3周:RNN-心脏病预测
  • 【硬件系统架构】冯·诺依曼架构
  • flutter app实现分辨率自适应的图片资源加载
  • 实时直播弹幕系统设计
  • AI Agent系列(十) -Data Agent(数据分析智能体)开源资源汇总
  • LabVIEW技巧——获取文件版本信息
  • Flutter异常Couldn‘t find dynamic library in default locations
  • 深入解析 HTML5 Web IndexedDB 数据库:构建高效离线应用的基石
  • Ubuntu22.04安装QT、px4安装环境
  • Git 进阶之路:高效协作之分支管理
  • DeepSeek 操作 MySQL 数据库:使用 MCP 实现数据库查询
  • 【MySQL】Ubuntu下C++连接MySQL
  • 103岁抗战老兵、抗美援朝老兵、医学专家张道中逝世
  • 哈马斯同意释放剩余所有以色列方面被扣押人员,以换取停火五年
  • 如何做大中国拳击产业的蛋糕?这项赛事给出办赛新思考
  • 网贷放款后自动扣除高额会员费,多家网贷平台被指变相收取“砍头息”
  • 韩国首尔江南区一大型商场起火,消防部门正在灭火中
  • 84%白化!全球珊瑚正经历最严重最大范围白化现象