Superhero Battle
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相关推荐
- 1141E - Superhero Battle(数学思维) Codeforces Round #547 (Div. 3)
原题链接:https://codeforces.com/contest/1141/problem/E 题意:超人与怪兽要进行多个个回合的战斗,每一个回合又细分为n分钟,在这一回合中每经过一分钟,怪兽会 ...
- CF 1141E. Superhero Battle(思维)
[题面] [题解] 题意:这是一个打怪兽的故事~给定怪兽初始体力值H和一个轮回的长度n,然后给定一个轮回中每一局怪兽体力的变动序列.输出第几局怪兽被打败即体力不大于0,若怪兽必胜则输出-1. 思路:难 ...
- CodeForces - 1141ESuperhero Battle简单模拟
Superhero Battle 这道题卡了我一个多小时,最后也没有做出来,成功称为吊车尾... 思路什么的都没有问题,主要是,爆long long了,这个太可怕了,就因为一个中间变量忘记开longl ...
- Codeforces Round #547 (Div. 3)
E. Superhero Battle 题意 有一个血量,N次循环攻击,每次可以加血见血.问第几次可以把血量减到0 思路 如果存在解,必定是N次攻击中的一次终结,所以可以枚举终结点的情况,取一个最小值 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 1013 Battle Over Cities(并查集解法)
关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...
- 神经网络变成小怪兽,还能互相 battle!这款游戏用最简单的方式训练神经网络...
机器之心报道 编辑:魔王 在游戏里训练「神经网络小怪兽」,学习强化学习! 想了解神经网络,但不知道如何入手?教程太枯燥,论文不好懂? 别怕,这里有款多人在线战术竞技游戏(MOBA),让你在西部牛仔的世 ...
- 【发现】Warcraft III v1.22 不用正版CDKey上Battle.net 续篇
之前介绍过一个方法,有朋友说没有几个人,今天推荐一个人比上一个推荐的服务器多的,但是如果跟浩方比那没法比!仅仅享受一下上battle.net的感觉吧!何必那么较真嘛: 下载这个安装之后就可以了: ht ...
- 20+顶尖高校同时开打《王者荣耀》!实际上是一场科研battle,你能信?
金磊 假装发自 王者峡谷 量子位 报道 | 公众号 QbitAI 不是吧,不是吧. 一群学霸聚集在一起,竟然是为了打<王者荣耀>?! 而且还是来自清北.中科院.浙大等20余所顶级学府的那种 ...
最新文章
- RSync实现文件备份同步
- 【linux】printf在终端打印彩色hello world
- 数据结构中几种经典排序简介
- swift_040(Swift闭包声明与用途)
- 一文搞懂 Prometheus 的直方图
- linux 关闭网络防火墙设置方法,CentOS Linux防火墙配置及关闭方法
- [AGC016B]Colorful Hats
- ubuntu10.04下audacious2.4源码编译过程(解决2.3cue的bug)
- 笔记本电脑触摸板的正确使用方法 --转摘
- pc端签名 vue 生成图片_Vue Canvas 实现电子签名 手写板
- 【渝粤教育】国家开放大学2018年春季 8612-22T传染病护理学 参考试题
- Springboot2.X + screw数据库快速开发文档
- 获得PMP认证的过程及心路历程
- Cisco IOS镜像文件的下载地址
- 计算机控制中的pid是什么意思,PID 是什么意思
- PyTorch中文教程 | (6) torch.nn是什么?
- 数字化改造大宗商品供应链 ,为大宗商品贸易增添活力
- 为何越来越多人买苹果?因为6年前的iPhone碾压新款国产中端手机
- 基于MATLAB平台实现红绿灯(交通灯)识别
- Zhong__xlrd基本使用
热门文章
- html5编辑器自带js,javaScript编辑器-HBulider
- MATLAB怎么表示均布荷载,MATLAB平面四节点等参元分析程序说明
- linux raid卷,linux – Areca RAID卷和LVM对齐
- burst tx 功能 开启_Serverspeeder 锐速config配置文件详解
- python 高级面试题_Python高阶面试题
- android 字符串转bitmap,android – 如何将Base64字符串转换为BitMap图像显示在ImageView?...
- vue修改html片段的样式无效,vue 组件中添加样式不生效的解决方法
- java 返回值void_Java的返回值voidspeak
- 七十五、Python | Leetcode哈希表系列
- 这个顶会论文复现比赛,单篇最高现金奖3W!