CF BUDDY
← Problems·

1479A · Searching Local Minimum

1700 · binary search, interactive, ternary search

Problem: This is an interactive problem.

Homer likes arrays a lot and he wants to play a game with you.

Homer has hidden from you a permutation a1,a2,,ana_1, a_2, \dots, a_n of integers 11 to nn. You are asked to find any index kk (1kn1 \leq k \leq n) which is a local minimum.

For an array a1,a2,,ana_1, a_2, \dots, a_n, an index ii (1in1 \leq i \leq n) is said to be a local minimum if ai<min{ai1,ai+1}a_i < \min\{a_{i-1},a_{i+1}\}, where a0=an+1=+a_0 = a_{n+1} = +\infty. An array is said to be a permutation of integers 11 to nn, if it contains all integers from 11 to nn exactly once.

Initially, you are only given the value of nn without any other information about this permutation.

At each interactive step, you are allowed to choose any ii (1in1 \leq i \leq n) and make a query with it. As a response, you will be given the value of aia_i.

You are asked to find any index kk which is a local minimum after at most 100100 queries.

Note: In the example, the first line contains an integer 55 indicating that the length of the array is n=5n = 5.

The example makes five "?" queries, after which we conclude that the array is a=[3,2,1,4,5]a = [3,2,1,4,5] and k=3k = 3 is local minimum.

Sample Cases

Case 1

Input

5
3
2
1
4
5

Output

? 1
? 2
? 3
? 4
? 5
! 3

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback