Editorial for DMOPC '17 Contest 5 P6 - Bridges
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
There is no intended solution for the first subtask.
For the second subtask, specific information can be gained by asking an order, then swapping two consecutive elements of this order and asking that. In particular, consider the queries n-1 n-2 ... 4 3 2 1 and n-1 n-2 ... 4 3 1 2. Let the answers to these two queries by  and 
 respectively. Let bridge 
 be the leftmost bridge which has not yet been built when bridge 
 is built in the advisor's order. It can be shown that if 
, then 
 must be 
, otherwise, 
 (it is possible for 
 to be 
, in which case, bridge 
 is the last bridge to be built).
So now, we know that no bridge with index between  and 
 can be built after bridge 
 and before bridge 
. We now repeat this solution for the bridges from 
 to 
 and the bridges from 
 to 
. We also have to update the 
 array and merge it appropriately. Clearly this solution requires less than 
 queries. The time complexity is unimportant, it is at the very most 
.
Comments