배열 a와 점화식 f(i,j)=min(f(i-1,j),f(i-1,j-1))+a_j가 주어질 때, 최대 1e5개의 f(x,y) 질의에 답한다.
길이가 nnn인 배열 a=(a1,a2,…,an)a = (a_1, a_2, \dots, a_n)a=(a1,a2,…,an)이 있다. 함수 fff를 다음과 같이 정의한다.
f(1, j)=aj(1≤j≤n)f(1,\, j) = a_j \qquad (1 \le j \le n)f(1,j)=aj(1≤j≤n)
f(i, j)=min(f(i−1, j), f(i−1, j−1))+aj(2≤i≤n, i≤j≤n)f(i,\, j) = \min(f(i-1,\, j),\ f(i-1,\, j-1)) + a_j \qquad (2 \le i \le n,\ i \le j \le n)f(i,j)=min(f(i−1,j), f(i−1,j−1))+aj(2≤i≤n, i≤j≤n)
배열 aaa와 쿼리 mmm개가 주어진다. 각 쿼리는 두 정수 xix_ixi, yiy_iyi로 이루어지고 f(xi,yi)f(x_i, y_i)f(xi,yi)의 값을 묻는다. 모든 쿼리의 답을 구하는 프로그램을 작성하시오.
첫째 줄에 배열 aaa의 크기 nnn (1≤n≤1051 \le n \le 10^51≤n≤105)이 주어진다.
둘째 줄에 a1,a2,…,ana_1, a_2, \dots, a_na1,a2,…,an이 공백으로 구분되어 주어진다. (0≤aj≤1040 \le a_j \le 10^40≤aj≤104)
셋째 줄에 쿼리의 개수 mmm (1≤m≤1051 \le m \le 10^51≤m≤105)이 주어진다. 이어지는 mmm개의 줄에 쿼리가 한 줄에 하나씩 xix_ixi, yiy_iyi 순서로 주어진다. (1≤xi≤yi≤n1 \le x_i \le y_i \le n1≤xi≤yi≤n)
쿼리가 주어진 순서대로 f(xi,yi)f(x_i, y_i)f(xi,yi)의 값을 한 줄에 하나씩 출력한다.