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 nn 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 nn numbers: d1,d2,…,dnd_1, d_2, \dots, d_n (−106≤di≤106-10^6 \le d_i \le 10^6). The ii-th element means that monster's hp (hit points) changes by the value did_i during the ii-th minute of each round. Formally, if before the ii-th minute of a round the monster's hp is hh, then after the ii-th minute it changes to h:=h+dih := h + d_i.

The monster's initial hp is HH. It means that before the battle the monster has HH hit points. Print the first minute after which the monster dies. The monster dies if its hp is less than or equal to 00. Print -1 if the battle continues infinitely.

一位超级英雄与一只怪物展开战斗。战斗由若干轮组成,每轮持续恰好 nn 分钟。一轮结束后,下一轮立即开始,如此循环往复。

每轮的战斗情景完全相同,由一个长度为 nn 的数字序列描述:d1,d2,…,dnd_1, d_2, \dots, d_n(其中 −106≤di≤106-10^6 \le d_i \le 10^6)。第 ii 个元素表示:在每轮的第 ii 分钟内,怪物的生命值(hp,即“击中点数”)变化量为 did_i。形式化地说,若某轮第 ii 分钟开始前怪物的生命值为 hh,则第 ii 分钟结束后其生命值变为 h:=h+dih := h + d_i。

怪物的初始生命值为 HH,即战斗开始前其生命值为 HH。请输出怪物死亡后的第一分钟(即从战斗开始起算的分钟编号,从第 11 分钟起计)。当怪物生命值小于等于 00 时,视为死亡。若战斗无限持续下去,请输出 −1-1。

输入格式

The first line contains two integers HH and nn (1≤H≤10121 \le H \le 10^{12}, 1≤n≤2⋅1051 \le n \le 2\cdot10^5). The second line contains the sequence of integers d1,d2,…,dnd_1, d_2, \dots, d_n (−106≤di≤106-10^6 \le d_i \le 10^6), where did_i is the value to change monster's hp in the ii-th minute of a round.

第一行包含两个整数 HH 和 nn(1≤H≤10121 \le H \le 10^{12},1≤n≤2⋅1051 \le n \le 2\cdot10^5)。第二行包含整数序列 d1,d2,…,dnd_1, d_2, \dots, d_n(−106≤di≤106-10^6 \le d_i \le 10^6),其中 did_i 表示在一轮中的第 ii 分钟对怪物生命值(HP)的改变量。

输出格式

Print -1 if the superhero can't kill the monster and the battle will last infinitely. Otherwise, print the positive integer kk such that kk is the first minute after which the monster is dead.

如果超级英雄无法杀死怪物,战斗将无限持续,则输出 −1-1。否则,输出正整数 kk,使得 kk 是怪物死亡后的第一分钟。

输入输出样例

  • 输入#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测评打分。不知道怎么写?

首页