【题面】

【题解】

题意:这是一个打怪兽的故事~给定怪兽初始体力值H和一个轮回的长度n,然后给定一个轮回中每一局怪兽体力的变动序列。输出第几局怪兽被打败即体力不大于0,若怪兽必胜则输出-1.

思路:难点在于如何判断最后一轮,因此我们可以保存一下一轮中最大可失去的体力ma一轮后会失去的体力sum,然后把(H-ma)用整轮打斗处理一下,最后加上ma再枚举判断终止,保证了最优情况。怪兽必胜的判断条件显然是一轮过后sum>=0且怪兽还有体力。

【代码】

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{ll h,n; scanf("%I64d%I64d",&h,&n);ll a[200005],sum=0,ma=0;ll ans=0;for(ll i=1;i<=n;i++){scanf("%I64d",&a[i]);sum+=a[i];ma=min(ma,sum);h+=a[i];if(h<=0&&ans==0) ans=i;}if(ans) printf("%I64d\n",ans);else if(sum>=0&&h>0) puts("-1");else{ma*=-1,sum*=-1;h-=ma;ans=(h/sum+1)*n;h%=sum;h+=ma;int i=1;while(h>0) h+=a[((i++)-1)%n+1];printf("%I64d",ans+i-1);}return 0;
}

CF 1141E. Superhero Battle(思维)相关推荐

  1. 1141E - Superhero Battle(数学思维) Codeforces Round #547 (Div. 3)

    原题链接:https://codeforces.com/contest/1141/problem/E 题意:超人与怪兽要进行多个个回合的战斗,每一个回合又细分为n分钟,在这一回合中每经过一分钟,怪兽会 ...

  2. Superhero Battle

    https://codeforces.com/contest/1141/problem/E 题解: /* *@Author: STZG *@Language: C++ */ #include < ...

  3. CF 513D. Social Circles 思维,贪心

    题意:  每个圆圈由若干张椅子组成. 现在有n个人 第i个人要求它左边至少有L[i]张空椅子, 右边至少有R[i]张空椅子. n<=1e5, 0<=L[i],R[i]<=1e9. 可 ...

  4. CF 1562 C. Rings (思维+模拟)

    链接 题意: 给出你一个01串,让你从中选取两端[l1,r1],[l2,r2][l_1,r_1],[l_2,r_2][l1​,r1​],[l2​,r2​],(l1,r1)(l_1,r_1)(l1​,r ...

  5. cf 226b 唯美思维题~.cpp

    题意: 给出n个数,让你用最少次数把所有的数都摞成一堆. 其中当把arr[i]摞在第j堆上时,得扣分arr[i] 题目有要求每个数上面不许摞超过k次,有m个k,让你求出m种情况下限制为k时的最优解,即 ...

  6. cf - 922C - Cave Painting ( 思维 + 数学 )

    题目链接:点击进入 题意 给你 n , k , 问是否 n % i ( 1<= i <= k ) 的值都不一样 思路 若n % i 的结果都不同,则 n % 1 = 0 n % 2 = 1 ...

  7. CodeForces - 1141ESuperhero Battle简单模拟

    Superhero Battle 这道题卡了我一个多小时,最后也没有做出来,成功称为吊车尾... 思路什么的都没有问题,主要是,爆long long了,这个太可怕了,就因为一个中间变量忘记开longl ...

  8. CF刷刷水题找自信 2

    CF 1114A  Got Any Grapes(葡萄)? 题目意思:给三个人分葡萄,三个人对葡萄的颜色有一些要求,问所准备的三种颜色的葡萄能否满足三人的要求. 解题意思:直接按条件判断即可. #in ...

  9. Codeforces Round #547 (Div. 3)

    E. Superhero Battle 题意 有一个血量,N次循环攻击,每次可以加血见血.问第几次可以把血量减到0 思路 如果存在解,必定是N次攻击中的一次终结,所以可以枚举终结点的情况,取一个最小值 ...

最新文章

  1. 提升工作沟通,你需要明白这些内容
  2. 【无标题】科大星云诗社动态20201206
  3. Boost:boost::callable_traits::function_type_t的测试程序
  4. Redis内部数据结构详解之简单动态字符串(sds)
  5. mqtt异步publish方法
  6. 关于PageRank的一些见解
  7. 打开editor的接口讨论
  8. 使用机器学习预测电子竞技游戏《守望先锋》的胜负
  9. 自动化安装DHCP配置脚本
  10. java ftp遍历所有子文件_Java 遍历指定文件夹及子文件夹下的文件
  11. python中wraps_【Python】Flask中@wraps的使用
  12. 2014华为机试西安地区B组试题
  13. 论文阅读之Siamese RPN以及一些其他内容的补充
  14. python实现外挂自动学习网络课程实例
  15. java山地车 故障,山地车骑行常见的10大问题及解决方案
  16. Android 播放器 mov,適用於Android的頂級5 MOV播放器應用程序,可在移動設備上播放MOV視頻文件...
  17. OpenCASCADE开发环境搭建之OCCT库编译
  18. 搭建安卓打包环境,用官方示例anysdk生成apk运行
  19. iOS学习笔记-018.舒尔特表游戏
  20. Matlab矩阵操作相关题目

热门文章

  1. (2014年3月1)Ubuntu 14.04 Beta 1-64位简体中文优化定制版
  2. 演讲演说辩论赛PPT模板
  3. ef mysql 配置字符串_连接字符串-EF Core | Microsoft Docs
  4. 北邮人论坛面经转载(3)
  5. 区块游戏游案例:奔跑吧兔子定制开发
  6. ajaxFileUpload图片上传、限制后缀和张数 带参数
  7. 百度搜索框代码(有下拉提示的)
  8. Collabora Office for Mac(企业级办公套件)
  9. 小米13屏幕尺寸 小米 13是双卡还是单卡?
  10. 浅析安全启动(Secure Boot)附带EFUSE解析