Codeforces Round 655 (Div. 2) |
---|
Finished |
Ray lost his array and needs to find it by asking Omkar. Omkar is willing to disclose that the array has the following qualities:
Ray is allowed to send Omkar a series of queries. A query consists of two integers, $$$l$$$ and $$$r$$$ such that $$$1 \le l \le r \le n$$$. Omkar will respond with two integers, $$$x$$$ and $$$f$$$. $$$x$$$ is the mode of the subarray from index $$$l$$$ to index $$$r$$$ inclusive. The mode of an array is defined by the number that appears the most frequently. If there are multiple numbers that appear the most number of times, the smallest such number is considered to be the mode. $$$f$$$ is the amount of times that $$$x$$$ appears in the queried subarray.
The array has $$$k$$$ ($$$1 \le k \le \min(25000,n)$$$) distinct elements. However, due to Ray's sins, Omkar will not tell Ray what $$$k$$$ is. Ray is allowed to send at most $$$4k$$$ queries.
Help Ray find his lost array.
The only line of the input contains a single integer $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$), which equals to the length of the array that you are trying to find.
The interaction starts with reading $$$n$$$.
Then you can make one type of query:
The answer to each query will be in the form "$$$x \enspace f$$$" where $$$x$$$ is the mode of the subarray and $$$f$$$ is the number of times $$$x$$$ appears in the subarray.
To output your answer, print:
And quit after that. This query is not counted towards the $$$4k$$$ queries limit.
After printing a query do not forget to output end of line and flush the output. Otherwise, you will get Idleness limit exceeded. To do this, use:
Hack Format
To hack, output $$$1$$$ integer on the first line, $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$). On the second line output $$$n$$$ integers $$$a_1, a_2, \ldots, a_{n-1}, a_n$$$ separated by a space such that there are at most $$$25000$$$ distinct numbers and $$$a_j \le a_{j+1}$$$ for all $$$j$$$ from $$$1$$$ to $$$n-1$$$.
6 2 2 2 2 3 2 2 1
? 1 6 ? 1 3 ? 4 6 ? 3 4 ! 1 2 2 3 3 4
The first query is $$$l=1$$$ and $$$r=6$$$. The mode is $$$2$$$, and $$$2$$$ appears $$$2$$$ times, so $$$x=2$$$ and $$$f=2$$$. Note that $$$3$$$ also appears two times, but $$$2$$$ is outputted because $$$2$$$ is smaller.
The second query is $$$l=1$$$ and $$$r=3$$$. The mode is $$$2$$$ and $$$2$$$ appears twice in the subarray with indices $$$[1,3]$$$.
The third query is $$$l=4$$$ and $$$r=6$$$. The mode is $$$3$$$ and $$$3$$$ appears twice in the subarray with indices $$$[4,6]$$$.
The fourth query is $$$l=3$$$ and $$$r=4$$$. The mode is $$$2$$$, which appears once in the subarray with indices $$$[3,4]$$$. Note that $$$3$$$ also appears once in that range, but $$$2$$$ is smaller than $$$3$$$.
Name |
---|