만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

초콜릿

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 질의마다 초콜릿 m개를 고르되, Lana가 낸 금액에서 Fran이 낸 금액을 뺀 값이 최소가 되는 값을 구합니다.
난이도

보통10점 중 5점

유형
그리디, 누적 합, 이분 탐색, 정렬
정답자
아직 제출이 없습니다

문제

어린 라나와 어린 프란이 초콜릿 공장을 방문했다. 두 사람은 초콜릿이 만들어지는 과정을 보았고, 초콜릿을 많이 맛보았으며, 이제 초콜릿을 몇 개 사려고 한다.

가게에는 서로 다른 초콜릿이 nn개 있고, ii번째 초콜릿의 가격은 cic_i이다. 라나와 프란은 초콜릿을 mm개 사려고 한다.

프란은 비용을 나누는 방법을 생각해 냈다.

  • 초콜릿 가격이 kk쿠나보다 싸면 라나가 그 값을 낸다.
  • 그렇지 않으면 라나가 kk쿠나를 내고, 프란이 나머지 ci−kc_i - k쿠나를 낸다.

라나가 내는 금액을 ll, 프란이 내는 금액을 ff라고 하자. 이 거래가 못마땅한 라나는 프란을 골탕 먹이려고 l−fl - f가 최대한 작아지도록 초콜릿을 고른다. 프란이 몇 개를 살지 정하지 않았으므로, 라나는 서로 다른 qq쌍의 kik_i, mim_i마다 l−fl - f의 최솟값을 알고 싶어 한다.

라나가 초콜릿을 고르는 것을 도와, qq개 질의 각각에 대해 l−fl - f의 최솟값을 구하라.

입력

첫 줄에 초콜릿의 개수 nn과 질의의 개수 qq가 정수로 주어진다 (1≤n,q≤1051 \le n, q \le 10^5).

둘째 줄에는 초콜릿의 가격 c1,c2,…,cqc_1, c_2, \ldots, c_q가 순서대로 주어진다. 각 가격은 1≤ci≤1091 \le c_i \le 10^9을 만족한다.

다음 qq개 줄에는 정수 kik_i와 mim_i가 주어진다 (1≤ki≤1091 \le k_i \le 10^9, 1≤mi≤n1 \le m_i \le n). kik_i는 프란이 정한 기준값이고, mim_i는 살 초콜릿의 개수이다.

출력

qq개의 줄을 출력한다. ii번째 줄에는 라나의 ii번째 질의에 대한 답을 출력한다.

힌트

첫 번째 예제에 대한 설명이다. 첫 번째 질의에서 라나는 가격이 1, 9, 22, 10인 초콜릿을 고를 수 있다. 라나가 38쿠나를, 프란이 4쿠나를 내므로 답은 38−4=3438 - 4 = 34이다. 두 번째 질의에서 라나는 가격이 22와 19인 초콜릿을 고른다. 라나가 10쿠나를, 프란이 31쿠나를 내므로 답은 10−31=−2110 - 31 = -21이다.

예제3

  1. 예제 1

    입력
    5 2
    1 9 22 10 19
    18 4
    5 2
    
    예상 출력
    34
    -21
    
  2. 예제 2

    입력
    7 4
    1 5 4 3 7 11 9
    5 4
    5 7
    7 3
    4 5
    
    예상 출력
    4
    16
    7
    1
    
  3. 예제 3

    입력
    3 3
    5 6 7
    10 1
    5 3
    3 3
    
    예상 출력
    5
    12
    0