刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

游戏

游戏中有 N 个敌人,第 i 个敌人有 hi 的血量,当敌人血量降至 0 或以下时该敌人被消灭。

按照顺序从第 1 个敌人开始打,时间 T 从 0 开始,每次攻击前,先将 T 增加 1,若此时 T 为 3 的倍数,当前敌人掉 3 滴血,否则掉 1 滴血。求消灭全部敌人所需时间。

时间限制:1000ms,内存限制:256MB

输入格式

第一行输入一个正整数 N;

第二行输入 N 个 正整数 H1、H2、……、Hn

输出格式

输出一行答案 T。


输入样例#1

3
3 1 4

输出样例#1

6

输入样例#2

6
3 14 15 9 2 6

输出样例#2

33

数据范围:

1≤ N≤ 2×105;1≤ Hi ≤109

使用微信搜索喵呜刷题,轻松应对考试!

答案:

需要按照题目要求编写程序进行计算,无法直接给出答案。

解析:

这个问题可以通过模拟攻击过程来解决。首先读取敌人数量和每个敌人的血量。然后,使用一个循环来模拟攻击每个敌人,直到所有敌人都被消灭。在每次攻击前,增加时间T,并检查T是否为3的倍数,以确定敌人掉落的血量。计算每个敌人所需的攻击次数,并更新总时间T。最后,输出所需的总时间T。

在C语言中,可以使用以下步骤来实现:

  1. 读取敌人数量N。
  2. 读取每个敌人的血量h[i]。
  3. 初始化总时间T为0。
  4. 对于每个敌人:
    • 计算需要的攻击次数,考虑到每次攻击可能掉1滴血或3滴血。
    • 更新总时间T。
  5. 输出总时间T作为结果。

注意:由于数据范围较大(N的上限为2×10^5,每个敌人的血量H的上限为10^9),可能需要考虑使用高效的数据结构和算法来优化计算过程,以避免超时。

创作类型:
原创

本文链接:游戏 游戏中有 N 个敌人,第 i 个敌人有 hi 的血量,当敌人血量降至 0 或以下时该敌人被消灭

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share