[DTOI 2023] A. 小狗哥哥

题目背景

luanmenglei 有一个辉煌的现在:他们班的女同学都叫他易酱。 但谁能想到 luanmenglei 有一个悲伤的过去,他五岁的弟弟叫他小狗哥哥。

题目描述

下文的所有参数均默认为整数。 作为一位(7k7k 小游戏的)游戏开发者,你设计了如下(简陋的不如小狗哥哥幼儿园大班的毕业设计的)游戏,存在两个要素: 1. 一个敌对生物,其血量为 $m$。 2. 主角的武器,分为 $n$ 级,第 $i$ 级的伤害是 $i\times p$。 游戏的平衡性需要提前规划,所以你还有一个序列 $\{a_n\}$,其含义如下: - $a_i$ 表示敌对生物被第 $i$ 级武器恰好攻击 $a_i$ 下会死。 可惜你忘记了 $p$ 具体是多少,所以你需要求出所有可能的 $p$ 的个数。 如果可能有无数个 $p$,那么请输出 `xiaogougege`。

输入输出格式

输入格式


第一行两个正整数 $n,m$。 第二行 $n$ 个正整数,表示序列 $\{a_n\}$。

输出格式


一行一个整数,表示可能的 $p$ 的个数,或字符串 `xiaogougege`,其具体含义见题目描述。

输入输出样例

输入样例 #1

3 3
3 2 1

输出样例 #1

1

说明

#### 【样例 1 解释】 当武器为 $1$ 级时,分析可以发现 $p$ 要满足 $1 \leq p < \frac{3}{2}$。 当武器为 $2$ 级时,分析可以发现 $p$ 要满足 $\frac{3}{4} \leq p < \frac{3}{2}$。 当武器为 $3$ 级时,分析可以发现 $p$ 要满足 $1 \leq p$。 又 $p$ 是整数。综上,只有当 $p = 1$ 时满足题目所述条件。 #### 【样例 2】 见附加文件中的 `game/game2.in` 与 `game/game2.out`。 该样例满足测试点 $13\sim 20$ 的限制。 #### 【数据范围与提示】 对于所有测试数据,保证 $1\leq n \leq 10^5$,$1\leq a_i,m\leq 10^9$。 每个测试点的具体限制见下表: | 测试点编号 | $n\leq$ | $m,a_i\leq $ | 特殊性质 | | :-: | :-: |:-:|:-:| | $1\sim 9$ | $10^5$ | $10^9$ | 数据纯随机 | | $10 \sim 12$ | $3$ |$5$| 无 | | $13 \sim 20$ | $10^5$ |$10^9$| 无 | 你需要注意,上文纯随机数据的具体生成程序代码如下: ```cpp #include <bits/stdc++.h> using namespace std; int n, m, w; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int rand(int l, int r) { assert(l <= r); return uniform_int_distribution<>(l, r)(rng); } int main() { scanf("%d%d%d", &n, &m, &w); printf("%d %d\n", n, m); for (int i = 1; i <= n; i ++) printf("%d%c", rand(1, w), " \n"[i == n]); return 0; } ``` 通俗的说,就是对于给定的 $n,m,w(w\le 10^9)$,数据生成器会随机生成 $n$ 个值域在 $[1,w]$ 内的数,作为 $\{a_n\}$。