CF1141E.Superhero Battle
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A superhero fights with a monster. The battle consists of rounds, each of which lasts exactly n minutes. After a round ends, the next round starts immediately. This is repeated over and over again.
Each round has the same scenario. It is described by a sequence of n numbers: d1,d2,…,dn (−106≤di≤106). The i-th element means that monster's hp (hit points) changes by the value di during the i-th minute of each round. Formally, if before the i-th minute of a round the monster's hp is h, then after the i-th minute it changes to h:=h+di.
The monster's initial hp is H. It means that before the battle the monster has H hit points. Print the first minute after which the monster dies. The monster dies if its hp is less than or equal to 0. Print -1 if the battle continues infinitely.
一位超级英雄与一只怪物展开战斗。战斗由若干轮组成,每轮持续恰好 n 分钟。一轮结束后,下一轮立即开始,如此循环往复。
每轮的战斗情景完全相同,由一个长度为 n 的数字序列描述:d1,d2,…,dn(其中 −106≤di≤106)。第 i 个元素表示:在每轮的第 i 分钟内,怪物的生命值(hp,即“击中点数”)变化量为 di。形式化地说,若某轮第 i 分钟开始前怪物的生命值为 h,则第 i 分钟结束后其生命值变为 h:=h+di。
怪物的初始生命值为 H,即战斗开始前其生命值为 H。请输出怪物死亡后的第一分钟(即从战斗开始起算的分钟编号,从第 1 分钟起计)。当怪物生命值小于等于 0 时,视为死亡。若战斗无限持续下去,请输出 −1。
输入格式
The first line contains two integers H and n (1≤H≤1012, 1≤n≤2⋅105). The second line contains the sequence of integers d1,d2,…,dn (−106≤di≤106), where di is the value to change monster's hp in the i-th minute of a round.
第一行包含两个整数 H 和 n(1≤H≤1012,1≤n≤2⋅105)。第二行包含整数序列 d1,d2,…,dn(−106≤di≤106),其中 di 表示在一轮中的第 i 分钟对怪物生命值(HP)的改变量。
输出格式
Print -1 if the superhero can't kill the monster and the battle will last infinitely. Otherwise, print the positive integer k such that k is the first minute after which the monster is dead.
如果超级英雄无法杀死怪物,战斗将无限持续,则输出 −1。否则,输出正整数 k,使得 k 是怪物死亡后的第一分钟。
输入输出样例
输入#1
1000 6 -100 -200 -300 125 77 -4
输出#1
9
输入#2
1000000000000 5 -1 0 0 0 0
输出#2
4999999999996
输入#3
10 4 -3 -6 5 4
输出#3
-1
输入解题思路,AI测评打分。不知道怎么写?