atcoder#AGC020B. [AGC020B] Ice Rink Game

[AGC020B] Ice Rink Game

分数:500500

问题描述

一个成人游戏主持人和 NN 个孩子在冰上溜冰场上玩一个游戏。游戏分为 KK 轮。在第 ii 轮中,游戏主持人宣布:

  • 组成每组 AiA_i 个孩子的团队!

然后,仍在游戏中的孩子们组成尽可能多的 AiA_i 人的团队。一个孩子最多只能属于一个团队。那些没有组成团队的孩子离开游戏。剩下的孩子进入下一轮。注意,在某些轮次中,可能没有孩子离开游戏。

最终,在第 KK 轮结束后,剩下的恰好是两个孩子,他们将被宣布为胜者。

你知道了 A1,A2,,AKA_1, A_2, \cdots, A_K 的值。你不知道 NN,但你想估计它的范围。

找到游戏开始前可能的最小和最大孩子数量,或者确定不存在有效的 NN 值。

约束条件

  • 1K1051 \leq K \leq 10^5
  • 2Ai1092 \leq A_i \leq 10^9
  • 所有输入值均为整数。

输入

从标准输入中读取,格式如下:

KK

A1A_1 A2A_2 ...... AKA_K

输出

分别输出两个整数,表示 NN 的最小可能值和最大可能值,或者如果描述的情况不可能存在,则输出一个整数 1-1

4
3 4 3 2
6 8

例如,如果游戏开始时有 66 个孩子,那么游戏过程如下:

  • 第一轮,66 个孩子组成 2233 人的团队,没有孩子离开游戏。
  • 第二轮,66 个孩子组成 1144 人的团队,22 个孩子离开游戏。
  • 第三轮,44 个孩子组成 1133 人的团队,11 个孩子离开游戏。
  • 第四轮,33 个孩子组成 1122 人的团队,11 个孩子离开游戏。

最后的 22 个孩子被宣布为胜者。

5
3 4 100 3 2
-1

这种情况是不可能的。特别是,如果游戏开始时少于 100100 个孩子,那么在第三轮后,所有孩子都会离开。

10
2 2 2 2 2 2 2 2 2 2
2 3