Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập bdsotknp

Biến đổi số

Dễ Cài đặt

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Bạn có một mảng gồm \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\).

Bạn được phép thực hiện phép biến đổi sau nhiều lần:

  • Chọn hai số \(a_i\) và \(a_j\) (\(i \ne j\)). Nếu \(a_i \ge a_j\) thì xoá \(a_j\) khỏi mảng và tăng \(a_i\) lên \(1\).

Nhiệm vụ: Với một giá trị \(k\) cho trước, hãy biến đổi để số lượng phần tử \(\ge k\) trong mảng là lớn nhất có thể.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\) (\(1 \le n, q \le 10^5\)) --- số phần tử và số truy vấn.

  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^9\)).

  • Mỗi trong \(q\) dòng tiếp theo chứa một số nguyên \(k_i\) (\(1 \le k_i \le 10^9\)).

Output

In ra \(q\) dòng, dòng thứ \(i\) là số phần tử \(\ge k_i\) nhiều nhất có thể thu được sau khi biến đổi.

Example

Input:

5 2
21 9 5 8 10
10
15

Output:

3
1

Input:

5 1
1 2 3 4 5
100

Output:

0

Notes

Trong ví dụ đầu tiên:

  • Với \(k = 10\), chọn phần tử \(9\) và \(8\), tăng \(9\) thành \(10\), xoá \(8\), thu được mảng \((21, 10, 5, 10)\) có 3 phần tử \(\ge 10\).

  • Với \(k = 15\), dù biến đổi thế nào cũng chỉ có 1 phần tử \(\ge 15\).

Bình luận

Chưa có bình luận nào.