Bánh mì
Đề bài
Mô tả
Một chiếc bánh mì được chia thành phần, đánh số từ đến . Phần thứ có độ ngon .
Khi ăn các phần bánh, người ăn lần lượt chọn một phần bất kỳ trong số các phần còn lại và ăn nó. Nếu phần được chọn là phần thứ (với độ ngon hiện tại là ) thì:
- Độ thoả mãn của người ăn tăng thêm ;
- Độ ngon của tất cả các phần còn chưa ăn cũng tăng thêm .
Độ thoả mãn ban đầu bằng .
Ví dụ, nếu ba phần có độ ngon : ăn phần thứ hai trước thì độ thoả mãn thành và các phần còn lại trở thành ; tiếp tục ăn phần thứ nhất thì độ thoả mãn thành và còn lại ; ăn nốt phần cuối cho độ thoả mãn .
Cho truy vấn, mỗi truy vấn gồm hai số và . Với mỗi truy vấn, hãy tính độ thoả mãn lớn nhất có thể đạt được nếu chỉ ăn đúng các phần có chỉ số trong đoạn , theo một thứ tự tuỳ ý.
Các truy vấn độc lập với nhau: mỗi truy vấn đều bắt đầu từ chiếc bánh ban đầu. Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa xâu gồm ký tự '0' hoặc '1'; ký tự thứ là độ ngon của phần thứ .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và mô tả một truy vấn.
Dữ liệu ra
In ra dòng, dòng thứ là đáp án của truy vấn thứ , lấy phần dư cho .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 1011 1 4 3 4 |
14 3 |
Truy vấn 1: một thứ tự tối ưu là , cho độ thoả mãn . Truy vấn 2: đoạn gồm hai phần đều có độ ngon , mọi thứ tự đều cho . |
| 3 2 111 1 2 3 3 |
3 1 |
Khi tất cả các phần đều có độ ngon , mọi thứ tự đều cho cùng kết quả: đoạn độ dài cho , đoạn độ dài cho . |
| 10 8 0110000110 3 3 1 10 4 4 1 8 1 2 9 10 2 10 3 9 |
1 960 0 224 2 2 480 112 |
Truy vấn 3 chỉ chứa một phần có độ ngon nên đáp án bằng . Truy vấn 2 xét cả xâu: có ký tự '1' và ký tự '0'. |
Bình luận