苦逼...
Alice 和 Bob 的座標互換不會變,所以保持著 queries 的每個元素的 index : x <=y
策略:
1. 若 x == y: 回傳 y
2. 若h(x) < h(y): 回傳 y
3. 接著考慮 h(x) > h(y) 的情況,目標是找出一個 index z,使得 z > y and h(z) > h(x)
所以使用 stack 對每個 queries 進行單調堆疊的製作,同時在用 double queue 來做 reverse stack,方便二搜查找最小的 index
原先偷懶用 reversed(stack),不過每次 reverse 就很耗時間
stack 和 reverse stack 同步更新,只是stack針對 tail 更新,reverse 針對 front 更新