[DHBB25 - DX18 - 10] Bài 2: Trọng số xâu

Xem dạng PDF

Gửi bài giải

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

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

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trọng số của xâu con liên tiếp với độ dài từ ~L~ đến ~R~ của xâu ~S~ là tổng chênh lệch giữa vị trí đầu tiên và vị trí cuối cùng của từng ký tự xuất hiện trong xâu con đó. Ví dụ: Xâu con "abcab" sẽ có trọng số là ~(5 - 1) + (4 - 2) + (3 - 3) = 6~. Giải thích:

  • Vị trí đầu tiên mà 'a' xuất hiện là 1, vị trí cuối cùng mà 'a' xuất hiện là 5.
  • Vị trí đầu tiên mà 'b' xuất hiện là 2, vị trí cuối cùng mà 'b' xuất hiện là 4.
  • Vị trí đầu tiên mà 'c' xuất hiện là 3, vị trí cuối cùng mà 'c' xuất hiện là 3.

Yêu cầu: Cho xâu ~S~ gồm ~N~ ký tự trong khoảng 'a' đến 'z' và ~Q~ truy vấn ~L, R~. Bạn hãy giúp Purple tính trọng số của xâu con từ ~L~ đến ~R~ nhé.

Input

  • Dòng 1 gồm 2 số nguyên dương ~N, Q~ (~1 \le N, Q \le 2 \times 10^5~).
  • Dòng 2 là xâu ~S~ có ~N~ ký tự trong khoảng 'a' đến 'z'.
  • ~Q~ dòng tiếp theo mỗi dòng gồm 2 số nguyên dương ~L, R~ (~1 \le L \le R \le N~).

Output

  • Ghi ra ~Q~ dòng kết quả cho ~Q~ truy vấn.

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.