[C10_HT_22] Đếm số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Cho dãy ~A~ gồm ~n~ số nguyên ~a_1, a_2, ..., a_n~ và một số nguyên dương ~x~. Cho ~q~ truy vấn có dạng ~l,\ r~.

Yêu cầu

Với mỗi truy vấn ~l,\ r~ hãy đếm số lượng các số có giá trị dương và nhỏ hơn ~x~ từ phần tử thứ ~l~ đến phần tử thứ ~r~ của dãy số ~A~.

Dữ liệu đầu vào

  • Dòng thứ nhất ghi 3 số nguyên dương ~n,\ x,\ q~ ~(1 \le n, x, q \le 10^5)~;
  • Dòng thứ hai ghi ~n~ số nguyên ~a_1, a_2, ..., a_n~, số thứ ~i~ có giá trị là ~a_{i}~ ~(1 \le i \le n,\ |a_{i}| \le 10^5)~;
  • ~q~ dòng tiếp theo, mỗi dòng chứa hai số nguyên dương ~l,\ r~ ~(1 \le l \le r \le 10^5)~.

Các số trên cùng một dòng ghi cách nhau một dấu cách.

Dữ liệu đầu ra

Gồm ~q~ dòng, mỗi dòng ghi một số nguyên là kết quả tìm được tương ứng với mỗi truy vấn.

Ràng buộc dữ liệu

  • Có 50% số test ứng với 50% số điểm có ~q = 1~;
  • 50% số test còn lại ứng với 50% số điểm không có ràng buộc gì thêm.

Ví dụ

Ví dụ 1
INPUT
9 6 2
8 -1 6 5 -2 7 -3 4 -8
1 6
4 9
OUTPUT
1
2

Giải thích:

  • Đoạn từ phần tử thứ ~1~ đến phần tử thứ ~6~ có ~1~ số là số dương và nhỏ hơn ~6~ là số ~5~.
  • Đoạn từ phần tử thứ ~4~ đến phần tử thứ ~9~ có ~2~ số là số dương và nhỏ hơn ~6~ là số ~5~ và số ~4~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.