#20999. Mima的神奇发明

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: pskcoco

题目描述

Mima发明了一种神奇的机器,该机器可以自动加水,并且操作非常简单,每一次机器只会做下面两种操作:

(1)加入 x 单位的水 (2)倒掉 y 单位的水(如果 y 大于当前机器本身已有的水则相当于全部倒掉)

现在设定一个固定的正整数 n ,一旦机器的水积累了大于等于 n 个单位时,机器就会自动将当前的水全部装到一个空瓶子里面,并且自动密封(也就是说每次空瓶子装完水后,机器的水量会清空)。现在Mima让机器自动运行了一天,机器会将执行的操作打印到日志中。Mima在测试机器的时候,设置了一个n值,然后一共有k个空瓶子被装水密封了,现在mima希望你能计算出此时n值可能的最大值和最小值。

输入格式

第一行两个整数 t , k ,表示机器打印的日志一共有 t 行,一共有 k 个空瓶子被装水密封。

接下来 t 行,每行一个整数 a_i ,依次表示机器的操作日志。若 a_i \geq 0 ,加入 a_i 单位的水,若 a_i \lt 0 ,则表示倒掉了 -a_i 单位的水。

输出格式

输出一行两个整数,分别表示 n 值可能的最小值和最大值。
如果这样的 n 不存在,请输出 -1

样例

4 2
2
5
-3
9

3 7

数据范围与提示

  • 对于 20\% 的数据,保证 t \le 10
  • 对于 40\% 的数据,保证 t \le 100
  • 对于 60\% 的数据,保证 t \le 2 \times 10^3
  • 对于 100\% 的数据,保证 1 \leq t \le 10^5 -10^9 \le a_i \le 10^9

样例解释:

比如当n=3的时候,a[1]=2没法装瓶(因为小于n),a[2]=5一共累计装水7个单位,成功装1瓶水且清空水量,a[3]=-3倒水(当倒水量大于机器已有的水量,相当于机器的水全部倒掉),a[4]=9装9个单位的水,再次成功装1瓶水且清空水量。因此共装了2瓶水,符合给定的k值

比如当n=7的时候,a[1]=2没法装瓶,a[2]=5一共累计装水7个单位,成功装1瓶水且清空水量,a[3]=-3倒水,a[4]=9装9个单位的水,再次成功装1瓶水且清空水量。因此共装了2瓶水,也符合给定的k值