#P1005. Eating Queries

Eating Queries

음식 조회

# 제목 설명

티엔무에는 사탕 한 알이 있다.i\-th사탕의당량은\-th 사탕의 당량은 a_i와같습니다.따라서와 같습니다.따라서 i번째사탕을먹으면티무가소비하는사탕의수량은번째 사탕을 먹으면 티무가 소비하는 사탕의 수량은 a_i$와 같다.

티무는 그의 사탕에 대해 너에게 qq문제를 제기할 것이다.jj-th 질문에 대해 ** xjx_j보다 크거나 같은 당량을 얻기 위해 몇 개의 사탕을 먹어야 하는지 대답해야 합니다. 이 당량을 달성하지 못할 경우 -1을 인쇄합니다.다시 말해서, 당신은 가능한 최소 kk를 인쇄해야합니다. 이렇게 하면 kk개의 사탕을 먹은 후 티몰은 적어도 xjx _ j의 설탕을 소비하거나 가능한 kk가 존재하지 않습니다.

그는 같은 사탕을 두 번 먹을 수 없으며 조회는 서로 독립적입니다. (티무아는 다른 조회에서 같은 사탕을 사용할 수 있습니다.)

# 형식 입력

첫 번째 줄 입력에는 정수 tt(1t10001 \leq t \leq 1000) - 테스트 용례 수가 포함됩니다.테스트 용례는 다음과 같다.

첫 번째 행에는 22개의 정수 nnqq(1n,q1.51051 \leq n, q \leq 1.5\cdot10^5) 가 포함되어 있습니다. 각각 Timur가 보유한 사탕 수와 답을 인쇄해야 하는 조회 수입니다.

두 번째 행에는 nn개의 정수 a1,a2,,ana_1, a_2, \dots, a_n(1ai1041 \leq a_i \leq 10^4) 가 포함되어 있습니다. 각 사탕의 설탕 수입니다.

다음은 qq행입니다.

다음 qq행의 각 행에는 정수 xjx_j(1xj21091 \leq x_j \leq 2 \cdot 10^9) - Timur가 도달하고자 하는 주어진 쿼리입니다.

모든 테스트 용례에서 nnqq의 합계가 1.51051.5 \cdot 10^5를 초과하지 않도록 보장합니다.

# 출력 형식

각 테스트 용례에 qq행을 출력합니다.jj-th 행의 경우 Timur가 설탕 수를 xjx_j보다 크거나 같게 하려면 몇 개의 사탕을 먹어야 하는지 출력하고 이러한 수를 얻을 수 없으면 -1을 인쇄합니다.

# 샘플 # 1

# # 샘플 입력 # 1

삼
8 7
4 3 3 1 1 4 5 9
일
십
오십
십사
십오
22
삼십
4 1
1 2 3 4
삼
1 2
오
사
육

# # 샘플 출력 # 1

일
이
-1
이
삼
사
팔
일
일
-1

# 힌트

    • 주 * *

첫 번째 테스트 사례의 경우:

첫 번째 쿼리에 대해 Timur는 모든 사탕을 먹을 수 있으며 필요한 수량에 도달 할 것입니다.

두 번째 쿼리의 경우, 티무르는 77-th와 88-th 두 개의 사탕을 먹어서 최소 1010의 수량을 달성할 수 있으며, 따라서 소비되는 사탕의 수량은 1414와 같다.

세 번째 문제에 대해서는 가능한 답이 없다.

네 번째 질문의 경우, 티무르는 77th와 88th의 사탕을 먹어서 최소 1414의 수량을 달성할 수 있으며, 따라서 소비되는 사탕의 수량은 1414와 같다.

두 번째 테스트 사례

두 번째 테스트 용례의 유일한 조회에 대해 우리는 세 번째 사탕을 선택할 수 있다. 이렇게 하면 티무르는 그 중에서 마침 3$의 사탕을 얻을 수 있다.네 번째 사탕을 선택해도 같은 답을 얻을 수 있다.