CF1062C.Banh-mi
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JATC loves Banh-mi (a Vietnamese food). His affection for Banh-mi is so much that he always has it for breakfast. This morning, as usual, he buys a Banh-mi and decides to enjoy it in a special way.
First, he splits the Banh-mi into n parts, places them on a row and numbers them from 1 through n . For each part i , he defines the deliciousness of the part as xi∈{0,1} . JATC's going to eat those parts one by one. At each step, he chooses arbitrary remaining part and eats it. Suppose that part is the i -th part then his enjoyment of the Banh-mi will increase by xi and the deliciousness of all the remaining parts will also increase by xi . The initial enjoyment of JATC is equal to 0 .
For example, suppose the deliciousness of 3 parts are [0,1,0] . If JATC eats the second part then his enjoyment will become 1 and the deliciousness of remaining parts will become [1,_,1] . Next, if he eats the first part then his enjoyment will become 2 and the remaining parts will become [_,_,2] . After eating the last part, JATC's enjoyment will become 4 .
However, JATC doesn't want to eat all the parts but to save some for later. He gives you q queries, each of them consisting of two integers li and ri . For each query, you have to let him know what is the maximum enjoyment he can get if he eats all the parts with indices in the range [li,ri] in some order.
All the queries are independent of each other. Since the answer to the query could be very large, print it modulo 109+7 .
输入格式
The first line contains two integers n and q ( 1≤n,q≤100000 ).
The second line contains a string of n characters, each character is either '0' or '1'. The i -th character defines the deliciousness of the i -th part.
Each of the following q lines contains two integers li and ri ( 1≤li≤ri≤n ) — the segment of the corresponding query.
输出格式
Print q lines, where i -th of them contains a single integer — the answer to the i -th query modulo 109+7 .
输入输出样例
输入#1
4 2 1011 1 4 3 4
输出#1
14 3
输入#2
3 2 111 1 2 3 3
输出#2
3 1
说明/提示
In the first example:
- For query 1 : One of the best ways for JATC to eats those parts is in this order: 1 , 4 , 3 , 2 .
- For query 2 : Both 3 , 4 and 4 , 3 ordering give the same answer.
In the second example, any order of eating parts leads to the same answer.