Đếm mẫu AC trong đoạn

Xem dạng PDF

Gửi bài giải

Điểm: 5,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, Kotlin, Pascal, PyPy, Python, Scratch

Một phòng thí nghiệm lưu một chuỗi DNA ~S~ có độ dài ~N~. Mỗi ký tự của chuỗi là một trong bốn chữ cái A, C, G, T. Một mẫu AC được ghi nhận khi hai ký tự AC đứng liền nhau theo đúng thứ tự.

Có ~Q~ truy vấn. Với truy vấn thứ ~i~, chỉ xét đoạn liên tiếp từ vị trí ~l_i~ đến vị trí ~r_i~, kể cả hai đầu. Hãy đếm số lần mẫu AC xuất hiện hoàn toàn bên trong đoạn đó.

Input
  • Dòng đầu gồm hai số nguyên ~N~ và ~Q~, lần lượt là độ dài chuỗi và số truy vấn.
  • Dòng thứ hai chứa chuỗi ~S~ gồm đúng ~N~ ký tự thuộc tập A, C, G, T.
  • Mỗi trong ~Q~ dòng tiếp theo gồm hai số nguyên ~l_i~ và ~r_i~, mô tả đoạn của truy vấn thứ ~i~.
Output
  • Với mỗi truy vấn, in trên một dòng số lần AC xuất hiện hoàn toàn trong đoạn ~S[l_i..r_i]~.
Giới hạn
  • ~2 ≤ N ≤ 10^5~.
  • ~1 ≤ Q ≤ 10^5~.
  • ~1 ≤ l_i < r_i ≤ N~.
  • Mọi ký tự của ~S~ đều thuộc tập A, C, G, T.
Ví dụ

Input

8 3
ACACTACG
3 7
2 3
1 8

Output

2
0
3
Giải thích ví dụ

Đoạn từ vị trí 3 đến 7ACTAC, có hai mẫu AC. Đoạn từ vị trí 2 đến 3CA, không có mẫu nào. Toàn chuỗi ACACTACG có ba mẫu AC, bắt đầu tại các vị trí 1, 36.


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.