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

第十四届蓝桥杯青少组C++选拔赛[2022.11.27]第二部分编程题(3、业务办理时间)

参考程序:

#include <bits/stdc++.h>
using namespace std;int main() {int N;cin >> N;  // 输入客户数量vector<int> t(N+1);for (int i = 1; i <= N; ++i) cin >> t[i]; // 每个客户需要的时间// 三个窗口的累加器(分别记录三个窗口的总时间)int total[4] = {0, 0, 0, 0};// 三个窗口的计数器(表示窗口什么时候空)int timeFree[4] = {0, 0, 0, 0};// 先把第1、2、3个客户分配给窗口1、2、3int next = 1;for (int i = 1; i <= 3 && next <= N; i++, next++) {total[i] += t[next];        // 累加总时间timeFree[i] = t[next];      // 这个窗口什么时候能空}// 从第4个客户开始,按规则分配while (next <= N) {// 找最先空出来的窗口int idx = 1;for (int i = 2; i <= 3; i++) {if (timeFree[i] < timeFree[idx]) idx = i; // 谁空得早,选谁else if (timeFree[i] == timeFree[idx] && i < idx) idx = i; // 时间相同,选编号小的}// 把下一个客户分配到这个窗口total[idx] += t[next];              // 累加该窗口的总时间timeFree[idx] += t[next];           // 更新该窗口空闲的时间点next++;                             // 下一个客户}// 三个窗口总时间里,取最小的int ans = min({total[1], total[2], total[3]});cout << ans << "\n";return 0;
}

参考程序2:

#include <iostream>
using namespace std;int main() {int n; // 总人数cin >> n;int times[100]; // 每个人需要的办理时间for (int i = 0; i < n; i++) cin >> times[i];// 三个窗口的“结束时间”,初始都是 0int w1 = 0, w2 = 0, w3 = 0;// 三个窗口的累计工作总时间int sum1 = 0, sum2 = 0, sum3 = 0;for (int i = 0; i < n; i++) {int t = times[i]; // 当前这个人需要的时间// 找到最早空出来的窗口if (w1 <= w2 && w1 <= w3) {w1 += t;   // 窗口1结束时间往后推sum1 += t; // 累加窗口1的工作量}else if (w2 <= w1 && w2 <= w3) {w2 += t;sum2 += t;}else {w3 += t;sum3 += t;}}// 输出三个窗口中最小的总工作量int ans = min(sum1, min(sum2, sum3));cout << ans << endl;return 0;
}

http://www.dtcms.com/a/390462.html

相关文章:

  • 微服务-网关gateway理论与实战
  • 吴恩达机器学习笔记week1-2(线性回归模型及Sklearn的使用)
  • 11.2.4 聊天记录拉取设计与实现
  • 系统性学习数据结构-第五讲-排序
  • 编程的本质,到 AI 编程,再到 Vibe Coding
  • 自定义hadoop的单节点mapreduce
  • C++——面向对象
  • Java 生态监控体系实战:Prometheus+Grafana+SkyWalking 整合全指南(二)
  • One-Rec semantic-ID表征
  • HTML HTML基础(5)
  • EasyDSS视频推拉流技术如何实现无人机高清推流与超低延迟直播?
  • 音视频学习(六十六):使用ffmpeg api将实时的264、265裸流封装为fmp4
  • 【音频】在Ubuntu24.04上,源码编译安装Kamailio
  • 数据库与数据仓库易混淆点——数据库不是也可以用于数据的存储吗?为什么要数据仓库
  • 02-Media-9-video_encoder.py 使用视频编码器(VENC)来捕获并编码视频,保存在TF卡中的示例程序
  • Lighthouse安全组自动化审计与加固:基于MCP协议的智能运维实践
  • PHP基础-数据类型(第九天)
  • jQuery中的函数与其返回结果
  • 自动化机器学习框架NexusCore1.0稳定版文档概述
  • 五传输层TCPUDP-思考题-停止等待-ARQ-滑动窗口
  • 使用Azure OpenAI Realtime模型实现语音助理
  • 【智能系统项目开发与学习记录】LinuxUbuntuROS2 零基础学习笔记(小白友好版)
  • Python5-线性回归
  • Windows 定时任务设置、批处理(.bat)命令详解和通过conda虚拟环境定时运行Python程序
  • 无人机图传:让画面直达掌心的传输艺术
  • Django HttpRequest 对象的常用属性
  • 常见的 2 中缓存
  • Python基于Django的微博舆情可视化系统 关键词/用户ID/评论分析 大数据项目(建议收藏)✅
  • 四大访问控制模型:OBAC、RBAC、TBAC与ABAC的对比与应用
  • 如何使用AI IDE书写Vue3数据可视化大屏项目