U319587 【模板】三分 2
题目背景
**警告:P3382 的代码不能直接 AC 此题,请看好输入输出格式。**
**但是,你可以令 $l=1$,$r=n$,并把 P3382 的 $f$ 函数计算改成:**
```cpp
int f(int x)
{
cout y;
return y;
}
```
**注意,你最多只能计算 $f$ 函数 $140$ 次。**
题目描述
如题,给出一个定义域和值域均为 $\{1,2,3,\ldots,n\}$ 的函数 $f(x)$,保证 $\{f(1),f(2),f(3),\ldots,f(n)\}$ 是一个 $1 \sim n$ 的排列。
保证存在一个正整数 $x$($1 \le x \le n$),使得:
1. $f(x)=n$;
2. $\forall 1 \le i
输入格式
**本题是交互题(IO 交互)。**
**每次输出后,请清空缓冲区。**
- C / C++:`fflush(stdout) / cout.flush()`;
- Java:`system.out.flush()`;
- Python:`stdout.flush()`;
- Pascal:`flush(output)`;
- 其他:请自行查阅文档。
**否则,可能会导致 WA,RE,TLE,UKE 等问题。**
询问开始前,输入一行一个正整数 $n$,含义见题目描述。
接下来不超过 $140$ 行,每行一个正整数 $c$($1 \le c \le n$),代表该次询问中 $f(k)$ 的值。
输出格式
不超过 $140$ 行,每行一个非负整数 $k$($0 \le k \le n$),含义见题目描述。
**$k=0$ 的含义特殊,请看「提示说明」一栏。**
说明/提示
**样例解释:**
$\{f(1),f(2),f(3),\ldots,f(10)\}=\{1,3,5,7,9,10,8,6,4,2\}$。
------------
```cpp
#include "testlib.h"
#include
using namespace std;
const int N = 1e6 + 5;
int a[N];
int main(int argc, char* argv[])
{
registerInteraction(argc, argv);
cout.flush();
int n = inf.readInt();
int task;
int ans;
for(int i = 1; i