AT_tenka1_2016_qualB_d 天下一数列にクエリを投げます
Description
[problemUrl]: https://atcoder.jp/contests/tenka1-2016-qualb/tasks/tenka1_2016_qualB_d
モリタ君はプログラミングコンテストの商品として長さ $ N $ の数列 $ a_1,\ a_2,\ ...,\ a_N $ を貰いました。
まず、この数列に対し $ A $ 個の加算クエリを行います。$ i $ 個目の加算クエリは以下のとおりです。
- $ L_i,\ R_i,\ X_i $ が与えられるので、$ a_{L_i},\ a_{L_i+1},\ ...,\ a_{R_i} $ それぞれに $ X_i $ を足す
そのあと、$ B $ 個の調査クエリを行います。この調査クエリの結果を求めるのがあなたの仕事です。$ i $ 個目の調査クエリは以下のとおりです。
- $ S_i,\ T_i,\ K_i $ が与えられるので、$ S_i $ 個目の加算クエリを行う直前から、$ T_i $ 個目の加算クエリを行った直後までの間での $ a_{K_i} $ の最小値を求める
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ a_2 $ ... $ a_N $ $ A $ $ L_1 $ $ R_1 $ $ X_1 $ $ L_2 $ $ R_2 $ $ X_2 $ : $ L_A $ $ R_A $ $ X_A $ $ B $ $ S_1 $ $ T_1 $ $ K_1 $ $ S_2 $ $ T_2 $ $ K_2 $ : $ S_B $ $ T_B $ $ K_B $
Output Format
$ B $ 行出力する。 $ i $ 行目には $ i $ 個目の調査クエリの結果を出力する。 出力の末尾に改行を入れること。
Explanation/Hint
### 制約
- $ 1\ ≦\ N\ ≦\ 10^5 $
- $ 1\ ≦\ A,\ B\ ≦\ 10^5 $
- $ |a_i|\ ≦\ 10^6 $
- $ 1\ ≦\ L_i\ ≦\ R_i\ ≦\ N $
- $ |X_i|\ ≦\ 10^6 $
- $ 1\ ≦\ S_i\ ≦\ T_i\ ≦\ A $
- $ 1\ ≦\ K_i\ ≦\ N $
### Sample Explanation 1
数列は以下のように変動します - \\\[0, 1, 2\\\] : 最初 - \\\[10, 11, 2\\\] : 1つめのクエリの後 - \\\[-10, -9, -18\\\] : 2つめのクエリの後 - \\\[-10, 11, 2\\\] : 3つめのクエリの後 調査クエリの出力は以下のとおりです - 1つめの調査クエリはmin(0, 10)=0を出力します - 2つめの調査クエリはmin(0, 10, -10)=-10(21:18修正)を出力します - 3つめの調査クエリはmin(-9, 11)=-9を出力します - 4つめの調査クエリはmin(1, 11)=1を出力します - 5つめの調査クエリはmin(2, 2)=2を出力します - 6つめの調査クエリはmin(2, 2, -18, 2)=-18を出力します