시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB35161458.333%

문제

Little Lana and little Fran are visiting a chocolate factory. They have seen how chocolate is made, tasted many chocolates, and now they want to buy some of the chocolates.

In the shop, there are n different chocolates, and the i-th of them has the price ci. Lana and Fran want to buy m chocolates.

Fran found a way to split the cost in the shop:

  • If the chocolate is cheaper than k kunas, Lana will pay for it.
  • Otherwise, Lana will pay k kunas, and Fran will pay the rest, that is ci − k kunas.

Let’s denote l as the amount Lana has to pay, and f as the amount Fran has to pay. Lana, dissatisfied with Fran’s deal, wants to spite Fran and choose the chocolates so the value of the expression l − f is as small as possible. Since Fran is hesitant and doesn’t know how many he wants to buy, Lana wants to know the minimal value of the expression l − f for q different numbers ki and mi.

Help her choose the chocolates and determine the minimum value of the expression l − f for each of the q queries.

입력

The first line contains two integers n and q (1 ≤ n, q ≤ 105), the number of chocolates, and the number of queries.

The second line contains n integers c1, c2, . . . , cq (1 ≤ ci ≤ 109), the prices of the individual chocolates, in order.

The following q lines contain integers ki and mi (1 ≤ ki ≤ 109, 1 ≤ mi ≤ n), Fran’s bound, and the number of chocolates they are going to buy.

출력

Print q lines. In the i-th line print the answer to Lana’s i-th query.

서브태스크

번호배점제한
115

n, q ≤ 1000, ci, ki ≤ 106

220

k1 = . . . = kn

335

No additional constraints.

예제 입력 1

5 2
1 9 22 10 19
18 4
5 2

예제 출력 1

34
-21

예제 입력 2

7 4
1 5 4 3 7 11 9
5 4
5 7
7 3
4 5

예제 출력 2

4
16
7
1

예제 입력 3

3 3
5 6 7
10 1
5 3
3 3

예제 출력 3

5
12
0

힌트

Clarification of the first example:

In the first query, Lana can take chocolates with prices 1, 9, 22, and 10. Lana will pay 38 kunas, and Fran 4 kunas. The answer is 38 − 4 = 34.

In the second query, Lana will choose chocolates with prices 22 and 19. She will pay 10 kunas, and Fran will pay 31 kunas. The answer is 10 − 31 = −21.

채점 및 기타 정보

  • 예제는 채점하지 않는다.