P9009 [入门赛 #9] 牵连的世界 (Hard Version)
题目背景
这是一道 **hack 题**。在此类型的题目中,你将得到若干个问题和若干个解决对应问题的代码,但是给出的代码不能对于某些输入给出正确的输出。不能给出正确的输出的情况包括:
1. 输出错误的结果。
2. 运行超时。
3. 产生一些运行时未定义行为。目前技术可检测的未定义行为仅包括数组越界。
对于每个问题,你需要提交一份符合要求的输入数据,使得给定的代码不能给出正确的输出。你可以直接使用『提交答案』功能,也可以提交一份以任何语言写成的数据生成器。
---
**提示:如果你使用提交答案功能,请在提交其他题目时记得将语言改回你所使用的语言**
题目描述
以下给出三个问题的题目描述:
#### 问题 1
给出 $n$ 个整数,求其中奇数的个数。
#### 问题 2
判定 $p$ 是否为质数。
#### 问题 3
给出 $n$ 个整数,第 $i$ 个为 $a_i$。找到最大的数 $p$,使得满足 $a_i \ge p$ 的 $i$ 个数不小于 $\lfloor \dfrac{n}{2} \rfloor$。
输入格式
#### 问题 1
输入包含两行。
第一行是一个整数,表示数列长度 $n$。
第二行有 $n$ 个以单个空格隔开的整数,依次表示 $a_1, a_2, \dots a_n$。
#### 问题 2
输入包含一行一个整数 $p$。
#### 问题 3
输入包含两行。
第一行是一个整数,表示数列长度 $n$。
第二行有 $n$ 个以单个空格隔开的整数,依次表示 $a_1, a_2, \dots a_n$。
输出格式
#### 问题 1
输出一行一个整数表示答案。
#### 问题 2
输出一行,若 $p$ 为质数,输出 `Yes`;否则输出 `No`。
#### 问题 3
输出一行一个整数表示答案。
说明/提示
### 样例组与实际输入的说明
三个样例分别对应三个问题的样例输入输出。
如果你直接采用『提交答案』的方式,请分别将三个输入数据命名为 `1.in`、`2.in`、`3.in`,并打成 zip 压缩包进行提交;
如果你采用提交数据生成器的方式,你的生成器可以从标准输入读入一个整数 $x$,满足 $1 \leq x \leq 3$,表示该测试点对应的问题编号,然后**输出对应的输入数据**。
显然,你的程序不应该读入『输入格式』里提到的任何内容(而应该构造它们),也不应该输出『样例输出』里提到的任何内容(而是只输出你构造的输入数据)。你不应该使用样例测试你的程序,这只是对三个问题的样例说明。
### 数据规模要求
你给出的数据必须满足如下要求:
1. 完全符合『输入格式』的规定,不能有多余的输入,但是可以有行末空格和文末回车。
2. 数据中所有的数字都应为整数。
3. 对于问题 1,$1 \leq n \leq 1000, -2 \times 10^9 \le a_i \le 2 \times 10^9$。
4. 对于问题 2,$1 \le p \le 10^{12}$。
5. 对于问题 3,$2 \leq n \leq 100$,$1 \leq a_i \leq 2 \times 10^9$。
### 目标代码
你需要 hack 如下的代码:
#### 问题 1
```cpp
#include
using namespace std;
int main() {
int n, ans = 0;
cin >> n;
for(int i = 1, x; i > x;
if(x % 2 == 1) ++ans;
}
cout a[i];
int L = 1, R = 2000000000, ans;
while(L