https://codeforces.com/contest/1141/problem/E

题解:

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=200000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const ll INF = 0x3f3f3f3f3f3f3f3f;
int t,n,m,k,q;
unsigned long long  ans;
ll cnt,flag,temp,sum;
ll h;
int a[N];
char str;
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%I64d%d",&h,&n);ll H=h;ll minl=INF;for(int i=1;i<=n;i++){scanf("%d",&a[i]);sum+=a[i];minl=min(minl,sum);if(h+sum<=0){cout<<i<<endl;return 0;}}if(minl>=0||sum>=0){cout<<-1<<endl;return 0;}cnt=(H+minl)/-sum;if((H+minl)%-sum)cnt++;ans=(unsigned long long)cnt*n;h=H+sum*cnt;if(h<=0){cout<<ans<<endl;return 0;}for(int i=1;i<=n;i++){h+=a[i];if(h<=0){cout<<ans+i<<endl;return 0;}}//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Superhero Battle相关推荐

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

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

  2. CF 1141E. Superhero Battle(思维)

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

  3. CodeForces - 1141ESuperhero Battle简单模拟

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

  4. Codeforces Round #547 (Div. 3)

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

  5. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  6. 1013 Battle Over Cities(并查集解法)

    关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...

  7. 神经网络变成小怪兽,还能互相 battle!这款游戏用最简单的方式训练神经网络...

    机器之心报道 编辑:魔王 在游戏里训练「神经网络小怪兽」,学习强化学习! 想了解神经网络,但不知道如何入手?教程太枯燥,论文不好懂? 别怕,这里有款多人在线战术竞技游戏(MOBA),让你在西部牛仔的世 ...

  8. 【发现】Warcraft III v1.22 不用正版CDKey上Battle.net 续篇

    之前介绍过一个方法,有朋友说没有几个人,今天推荐一个人比上一个推荐的服务器多的,但是如果跟浩方比那没法比!仅仅享受一下上battle.net的感觉吧!何必那么较真嘛: 下载这个安装之后就可以了: ht ...

  9. 20+顶尖高校同时开打《王者荣耀》!实际上是一场科研battle,你能信?

    金磊 假装发自 王者峡谷 量子位 报道 | 公众号 QbitAI 不是吧,不是吧. 一群学霸聚集在一起,竟然是为了打<王者荣耀>?! 而且还是来自清北.中科院.浙大等20余所顶级学府的那种 ...

最新文章

  1. RSync实现文件备份同步
  2. 【linux】printf在终端打印彩色hello world
  3. 数据结构中几种经典排序简介
  4. swift_040(Swift闭包声明与用途)
  5. 一文搞懂 Prometheus 的直方图
  6. linux 关闭网络防火墙设置方法,CentOS Linux防火墙配置及关闭方法
  7. [AGC016B]Colorful Hats
  8. ubuntu10.04下audacious2.4源码编译过程(解决2.3cue的bug)
  9. 笔记本电脑触摸板的正确使用方法 --转摘
  10. pc端签名 vue 生成图片_Vue Canvas 实现电子签名 手写板
  11. 【渝粤教育】国家开放大学2018年春季 8612-22T传染病护理学 参考试题
  12. Springboot2.X + screw数据库快速开发文档
  13. 获得PMP认证的过程及心路历程
  14. Cisco IOS镜像文件的下载地址
  15. 计算机控制中的pid是什么意思,PID 是什么意思
  16. PyTorch中文教程 | (6) torch.nn是什么?
  17. 数字化改造大宗商品供应链 ,为大宗商品贸易增添活力
  18. 为何越来越多人买苹果?因为6年前的iPhone碾压新款国产中端手机
  19. 基于MATLAB平台实现红绿灯(交通灯)识别
  20. Zhong__xlrd基本使用

热门文章

  1. html5编辑器自带js,javaScript编辑器-HBulider
  2. MATLAB怎么表示均布荷载,MATLAB平面四节点等参元分析程序说明
  3. linux raid卷,linux – Areca RAID卷和LVM对齐
  4. burst tx 功能 开启_Serverspeeder 锐速config配置文件详解
  5. python 高级面试题_Python高阶面试题
  6. android 字符串转bitmap,android – 如何将Base64字符串转换为BitMap图像显示在ImageView?...
  7. vue修改html片段的样式无效,vue 组件中添加样式不生效的解决方法
  8. java 返回值void_Java的返回值voidspeak
  9. 七十五、Python | Leetcode哈希表系列
  10. 这个顶会论文复现比赛,单篇最高现金奖3W!