3629: 牛牛的凑数游戏(第一轮03)
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:2
题目描述
对于一个多重数集S, 对于一非负整数x, 若存在S ⊆ S ′ 且S′ 中所有数字之和恰 好等于x,则说S可以表示x。
显然对于任意的多重数集都可以表示 0,因为空集是所有集合的子集。
牛牛定义集合S的最小不能表示数为, 一个最小的非负整数x, S不能表示x。 举个例子来说,例如S = {1,2,3,8,9},那么集合S的最小不能表示数就为 7。
因为子集的和为0, 子集1的和为 1, 子集2的和为2, 子集1,2的和为3, 子集1,3 的和为 4,子集2,3的和为 5,子集1,2,3的和为 6。
但是无法找到子集权值和恰好为 7 的子集,所以 7 无法表示。
现在有一个长度大小为 n 的正整数数组,牛牛每次选择一个区间[l, r],他想要知 道假定给出的多重数集为{al, al+1 … ar }时,该集合的最小不能表示数是多少。
输入
第一行输入两个正整数 n,m。
接下来一行输入 n 个正整数ai 表示输入的正整数数组。 接下来 m 行,每行输入两个正整数 l,r 表示查询的区间。
输出
对于每一个查询,输出最小不能表示数
样例输入 复制
8 6
1 2 3 4 5 17 1 99
1 5
2 5
1 6
1 7
1 8
3 8
样例输出 复制
16
1
16
34
34
2
提示
【数据范围】
对于前10%的测试数据,保证1 ≤ n, m ≤ 10 ,1 ≤ ai ≤ 100 对于前20%的测试数据,保证1 ≤ n, m ≤ 500
对于另10%的测试数据,保证输入的ai 单调非降
对于另10%的测试数据,保证输入的ai 为 2 的非负整数幂。
对于100%的测试数据,保证1 ≤ n, m ≤ 10^5 ,1 ≤ ai ≤ 10^9 ,1 ≤ l ≤ r ≤ n