B3812 [语言月赛 202307] std::string

题目背景

这是一道 **hack 题**。在本题目中,你将得到两个问题和两个解决对应问题的代码,但是给出的代码不能对于某些输入给出正确的输出。不能给出正确的输出的情况包括: 1. 输出错误的结果。 2. 运行超时。 3. 产生一些运行时未定义行为。目前技术可检测的未定义行为仅包括数组越界。 对于这一问题,你需要提交一份符合要求的输入数据,使得给定的代码不能给出正确的输出。你可以直接使用『提交答案』功能,也可以提交一份以任何语言写成的数据生成器。 --- **提示:如果你使用提交答案功能,请在提交其他题目时记得将语言改回你所使用的语言。**

题目描述

以下给出两个问题的题目描述: #### 问题 1 输入 $n$,输出连续 $n$ 个 $\texttt{HelloLuogu}$ 组成的字符串。 #### 问题 2 给定一个数列 $a$,请你将这个数列划分成**尽可能多**的段,使得每段的按位与之和最小。 请你输出最多划分段的数量。

输入格式

#### 问题 1 输入只有一行一个整数 $n$。 #### 问题 2 第一行是一个整数 $n$。 第二行有 $n$ 个整数,第 $i$ 个整数表示 $a_i$。

输出格式

#### 问题 1 输出一行一个字符串表示答案。 #### 问题 2 输出一行一个整数表示答案。

说明/提示

### 样例组与实际输入的说明 两个样例分别对应两个问题的样例输入输出。 如果你直接采用『提交答案』的方式,请分别将两个输入数据命名为 `1.in`、`2.in`,并打成 zip 压缩包进行提交; 如果你采用提交数据生成器的方式,你的生成器可以从标准输入读入一个整数 $x$,满足 $1 \leq x \leq 2$,表示该测试点对应的问题编号,然后**输出对应的输入数据**。 显然,你的程序不应该读入『输入格式』里提到的任何内容(而应该构造它们),也不应该输出『样例输出』里提到的任何内容(而是只输出你构造的输入数据)。你不应该使用样例测试你的程序,这只是对两个问题的样例说明。 ### 样例 2 解释 划分成 $[2,3,1]$ 和 $[5,2]$ 两个段。两段的按位与都是 $0$,其和也是 $0$,可以证明这是和的最小值。 ### 数据规模要求 你给出的数据必须满足如下要求: 1. 完全符合『输入格式』的规定,不能有多余的输入,但是可以有文末回车,问题 $1$ 可以有行末空格。 2. 对于问题 $1$,$1 \leq n \leq 10^5$。 3. 对于问题 $2$,$1 \leq n \leq 2 \times 10^5$,$0 \leq a_i \leq 10^9$。 ### 目标代码 你需要 hack 如下的代码: #### 问题 1 ```cpp #include using namespace std; int main() { int n; string ans, base = "HelloLuogu"; cin >> n; while (n--) ans = ans + base; cout n; std::vector a(n + 1), pre(n + 2), post(n + 2); for (int i = 1; i > a[i]; pre[1] = a[1]; for (int i = 2; i