对于 $100 \%$ 的测试数据, $1 \leq n \leq 10^2, 1 \leq a_i \leq 10^9$,交互库中的数据保证满足 $n_1, n_2$ 的限制,但你提交的答案可以不满足该限制。
| 子任务 | 分值 | $ type = $ | $limit = $ | $n_1$ 的规模 | $n_2$ 的规模 |
|---|---|---|---|---|---|
| 1 | 6 | 1 | 1000 | $= 1$ | $= 0$ |
| 2 | 22 | 2 | 40 | $= 1$ | $= 0$ |
| 3 | 16 | 3 | 600 | $= 1$ | $= 1$ |
| 4 | 12 | 4 | 1000 | $\geq 1$ | $= 0$ |
| 5 | 28 | 5 | 2200 | $\geq 1$ | $= 1$ |
| 6 | 16 | 6 | 22000 | $\geq 1$ | $\geq 1$ |
g++ grader.cpp currency.cpp -o currency -O2
可执行文件将从标准输入读入数据,将结果输出到标准输出。
读入完成之后,交互库将调用 solve 函数。如果你调用 query 的次数超过 $limit$ 次,或调用 answer 的次数小于或大于 $1$ 次,则交互库会输出错误信息,并退出。如果传入 query 函数和 answer 函数的参数非法,那么交互库会输出详细的错误信息,并退出。
当正确调用answer函数,solve 函数返回后,交互库会判断你提交的答案是否符合要求。如果答案正确,则会输出 Correct!,否则会输出 Incorrect!。
在编译命令中加入-DDEBUG可以使交互库输出更多调试信息。
如果要使用自己的输入文件进行测试,请保证输入文件符合格式以下要求,否则不保证程序能正确运行。
第一行包含两个整数 $type, limit$,需要保证 $type \in {1, 2, 3, 4, 5, 6}, 0 \leq limit \leq 10^9$。
第二行包含一个整数 $n$,需要保证 $1 \leq n \leq 10^2$。
第三行包含 $n$ 个整数,其中第 $i$ 个数为 $a_i$,需要保证 $1 \leq a_i \leq 10^9$ 且 $n_1$ 与 $n_2$ 满足 $type$ 类型的限制。
请注意最终测评使用的 currency.h 与下发的文件并不一致。