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

[12月考试] C

[12月考试] C

题目描述

小 E 正在洗澡,假设热水器是只存放热水的容器,洗澡每分钟都会消耗热水,同时热水器的加热功能每分钟都会给容器新增热水。

热水器的容量为 nnn 升,每分钟可以新增 mmm 升热水,小 E 需要洗 kkk 分钟,第 iii 分种消耗 aia_iai 升热水。

假设热水是在每分钟初被消耗,每分钟末被新增。如果原有热水加上新增的 mmm 升热水超过容量 nnn,会将热水器的水量填补为容量 nnn

请问小 E 能否洗完澡。如果可以,输出 Poppin' Shower;如果不可以,输出小 E 在第几分钟初没有热水可以消耗。

对于所有数据,k≤100k\leq 100k100n,m,ai≤109n,m,a_i\leq 10^9n,m,ai109

输入格式

输入共 222 行。

111 行输入 333 个正整数 n,m,kn,m,kn,m,k

222 行输入 kkk 个正整数 a1,a2,…,aka_1,a_2,\ldots,a_ka1,a2,,ak

输出格式

输出共 111111 个正整数或字符串,表示答案。

样例 #1

样例输入 #1

10 1 5
9 2 2 1 1

样例输出 #1

3

样例 #2

样例输入 #2

10 2 5
9 2 2 1 1

样例输出 #2

Poppin' Shower

样例 #3

样例输入 #3

10 9 5
1 1 1 1 100

样例输出 #3

5

提示

数据范围

对于 30%30\%30% 的数据,k≤3k\leq 3k3

对于所有数据,k≤100k\leq 100k100n,m,ai≤109n,m,a_i\leq 10^9n,m,ai109

这是一道典型的模拟类问题,只要正确实现每分钟的消耗和加热过程即可。


🧠题目简化

我们维护一个变量 cur 表示当前热水器中的热水量(初始为满,即 n 升)。

对于每一分钟 i=1→ki = 1 \to ki=1→k:

  1. 分钟初,小 E 需要消耗 aia_iai 升热水。
    • cur < a[i],表示水不够用,输出 i(分钟数),程序结束。
    • 否则,cur -= a[i]
  2. 分钟末,热水器加热 mmm 升热水:
    • cur += m
    • cur > n,则:cur = n

✅算法流程(模拟)

  1. 初始化当前水量 cur = n
  2. 遍历每分钟 i=1→ki = 1 \to ki=1→k:
    • cur < a[i],输出 i(第几分钟失败),退出
    • 否则:
      • cur -= a[i]
      • cur += m
      • cur = min(cur, n)
  3. 如果循环正常结束,说明全程水够,输出 Poppin' Shower

✅代码实现(C++)

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main() {long long n, m;int k;cin >> n >> m >> k;vector<long long> a(k);for (int i = 0; i < k; ++i) cin >> a[i];long long cur = n;  // 当前水量for (int i = 0; i < k; ++i) {if (cur < a[i]) {cout << i + 1 << endl; // 第 i+1 分钟失败return 0;}cur -= a[i];cur += m;if (cur > n) cur = n;}cout << "Poppin' Shower" << endl;return 0;
}
http://www.lryc.cn/news/606535.html

相关文章:

  • 【UEFI系列】Event
  • 超简单的跳动爱心
  • 【SpringMVC】拦截器,实现小型登录验证
  • 逻辑回归——银行贷款案例分析
  • Lomsat gelral 树上启发式合并
  • Coze是什么?能做什么?
  • Dify插件安装失败,一直处于安装状态?
  • 【智能体agent】入门之--1.初体验
  • OpenCV学习day2
  • RabbitMQ的特点和消息可靠性保障
  • 【neo4j】跨版本升级数据库
  • 《Java 程序设计》第 14 章 - JavaFX 基础
  • MySQL 8.0 OCP 1Z0-908 题目解析(42)
  • 企业级部署 (基于tomcat与nginx)
  • Linux和shell
  • 【运维基础】Linux 文件系统基本管理
  • Side band ECC、Inline ECC、On-die ECC、Link ECC
  • chrome.storage 和 localStorage
  • Android 基础入门学习目录(持续更新)
  • kettle插件-kettle http client plus插件,轻松解决https接口无法调用文件流下载问题
  • 面试笔记【16:9区域问题】
  • SQL注入SQLi-LABS 靶场less25a-28a详细通关攻略
  • ESP32 外设驱动开发指南 (ESP-IDF框架)——GPIO篇:基础配置、外部中断与PWM(LEDC模块)应用
  • 机械学习--逻辑回归
  • 第1章:基础篇——第1节:基础操作与认识界面
  • Vercel 全面介绍与网站部署指南
  • 老旧远程控制管理模块(物联网设备)渗透实战:SNMP泄露+内核提权攻击链深度解析
  • Gold 序列
  • 7月31号打卡
  • nvm安装nodejs后提示No installations recognized