3106.Function

Time Limit: 1s Memory Limit: 256MB

Serega and Fedor play with functions. One day they came across a very interesting function. It looks like that:
f(1,j)=a[j], 1 \le j \le n. f(i,j)=min(f(i-1,j),f(i-1,j-1))+a[j], 2 \le i \le n, i \le j \le n.
Here a is an integer array of length n.

Serega and Fedya want to know what values this function takes at some points. But they don't want to calculate the values manually. So they ask you to help them.

Input Format(From the terminal/stdin)

The first line contains integer n (1 \le n \le 105) - the length of array a. The next line contains n integers: a[1],a[2],...,a[n] (0 \le a[i] \le 104).

The next line contains integer m (1 \le m \le 105) - the number of queries. Each of the next m lines contains two integers: xi, yi (1 \le xi \le yi \le n). Each line means that Fedor and Serega want to know the value of f(xi,yi).

Output Format(To the terminal/stdout)

Print m lines - the answers to the guys' queries.

Sample Input 1

Copy
6
2 2 3 4 3 4
4
4 5
3 4
3 4
2 3
 \n
 · · · · · \n
 \n
 · \n
 · \n
 · \n
 · \n

Sample Output 1

Copy
12
9
9
5
  \n
 \n
 \n
 \n

Sample Input 2

Copy
7
1 3 2 3 4 0 2
4
4 5
2 3
1 4
4 6
 \n
 · · · · · · \n
 \n
 · \n
 · \n
 · \n
 · \n

Sample Output 2

Copy
11
4
3
0
  \n
 \n
 \n
 \n

Submit

请先 登录

© 2025 FAQs