[Buổi 9][Tìm kiếm nhị phân & tìm đáp án][HW] Bài 1: Đếm mức giá không vượt ngân sách


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Đếm mức giá không vượt ngân sách

Bối cảnh và bài toán

Một danh mục có n mức giá. Trong nhiều ngày khác nhau, người dùng đưa ra một ngân sách m và muốn biết có bao nhiêu lựa chọn có giá không vượt quá ngân sách đó.

Yêu cầu

Với mỗi ngân sách, đếm số giá trị a[i] <= m.

Input

  • Dòng 1: n.
  • Dòng 2: n mức giá.
  • Dòng 3: q.
  • q dòng tiếp: ngân sách m.

Output

In số lựa chọn hợp lệ cho từng truy vấn.

Ràng buộc

  • 1 <= n, q <= 10^5
  • 1 <= a[i] <= 10^5
  • 0 <= m <= 10^9

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 30% n, q ≤ 200 01–03
S2 30% n, q ≤ 10^5 04–06
S3 40% Không có ràng buộc bổ sung 07–10

Ví dụ 1

Input

5
3 10 8 6 11
4
1
10
3
11

Output

0
4
1
5

Giải thích. Với ngân sách 10 có bốn mức giá 3,6,8,10; với 11 có cả năm.

Ví dụ 2

Input

5
1 1 1 1 1
2
0
1

Output

0
5

Giải thích. upper_bound phải đi qua toàn bộ các giá trị bằng m, không chỉ một phần tử.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M03-B09-HW01
Buổi B09
Loại bài HOMEWORK
Mức độ khó Dễ (Easy)
Thời gian làm bài khuyến nghị 25 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo Codeforces 706B — Interesting Drink.

Tham khảo: https://codeforces.com/problemset/problem/706/B


Comments

There are no comments at the moment.

Zalo