#D. 从澳大利亚归来的男人

    远端评测题 1000ms 128MiB

从澳大利亚归来的男人

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

下文的所有参数均默认为整数。

图灵王酷爱制作小游戏,他当时做过一个很好玩的游戏,存在两个要素:

  1. 游戏中有一个BOSS,其血量为 mm
  2. 主角的武器可以升级,分为 nn 级,第 ii 级的伤害是 i×pi\times p

因为需要考虑游戏的平衡性,每一级武器攻击的伤害需要提前设定,所以你还有一个序列 {an}\{a_n\},其含义如下:

  • aia_i 表示敌对生物被第 ii 级武器恰好攻击 aia_i 下会死。

可惜图灵王因为年代久远,已经忘记了 pp 具体是多少,所以你需要求出所有可能的 pp 的个数。

如果可能有无数个 pp,那么请输出 xiaogougege

输入格式

第一行两个正整数 n,mn,m

第二行 nn 个正整数,表示序列 {an}\{a_n\}

输出格式

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

3 3
3 2 1
1

提示

【样例 1 解释】

当武器为 11 级时,分析可以发现 pp 要满足 1p<321 \leq p < \frac{3}{2}。 当武器为 22 级时,分析可以发现 pp 要满足 34p<32\frac{3}{4} \leq p < \frac{3}{2}。 当武器为 33 级时,分析可以发现 pp 要满足 1p1 \leq p

pp 是整数。综上,只有当 p=1p = 1 时满足题目所述条件。

【样例 2】

见附加文件中的 game/game2.ingame/game2.out

该样例满足测试点 132013\sim 20 的限制。

【数据范围与提示】

对于所有测试数据,保证 1n1051\leq n \leq 10^51ai,m1091\leq a_i,m\leq 10^9

每个测试点的具体限制见下表:

测试点编号 nn\leq m,aim,a_i\leq 特殊性质
191\sim 9 10510^5 10910^9 数据纯随机
101210 \sim 12 33 55
132013 \sim 20 10510^5 10910^9

你需要注意,上文纯随机数据的具体生成程序代码如下:

#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(w109)n,m,w(w\le 10^9),数据生成器会随机生成 nn 个值域在 [1,w][1,w] 内的数,作为 {an}\{a_n\}

2023.3.25 青岛市图灵编程杯 周赛补题场

未认领
状态
已结束
题目
6
开始时间
2023-3-25 21:00
截止时间
2023-4-29 23:59
可延期
24 小时