1. 程式人生 > >RMQ掛個模板

RMQ掛個模板

描述

小Hi和小Ho在美國旅行了相當長的一段時間之後,終於準備要回國啦!而在回國之前,他們準備去超市採購一些當地特產——比如漢堡(大霧)之類的回國。

但等到了超市之後,小Hi和小Ho發現者超市擁有的商品種類實在太多了——他們實在看不過來了!於是小Hi決定向小Ho委派一個任務:假設整個貨架上從左到右拜訪了N種商品,並且依次標號為1到N,每次小Hi都給出一段區間[L, R],小Ho要做的是選出標號在這個區間內的所有商品重量最輕的一種,並且告訴小Hi這個商品的重量,於是他們就可以毫不費勁的買上一大堆東西了——多麼可悲的選擇困難症患者。

(雖然說每次給出的區間仍然要小Hi來進行決定——但是小Hi最終機智的選擇了使用隨機數生成這些區間!但是為什麼小Hi不直接使用隨機數生成購物清單呢?——問那麼多做什麼!)

輸入

每個測試點(輸入檔案)有且僅有一組測試資料。

每組測試資料的第1行為一個整數N,意義如前文所述。

每組測試資料的第2行為N個整數,分別描述每種商品的重量,其中第i個整數表示標號為i的商品的重量weight_i。

每組測試資料的第3行為一個整數Q,表示小Hi總共詢問的次數。

每組測試資料的第N+4~N+Q+3行,每行分別描述一個詢問,其中第N+i+3行為兩個整數Li, Ri,表示小Hi詢問的一個區間[Li, Ri]。

對於100%的資料,滿足N<=10^6,Q<=10^6, 1<=Li<=Ri<=N,0<weight_i<=10^4。

輸出

對於每組測試資料,對於每個小Hi的詢問,按照在輸入中出現的順序,各輸出一行,表示查詢的結果:標號在區間[Li, Ri]中的所有商品中重量最輕的商品的重量。

樣例輸入