loj#P2174. 「FJOI2016」神秘数

「FJOI2016」神秘数

题目描述

一个可重复数字集合 SS 的神秘数定义为最小的不能被 SS 的子集的和表示的正整数。例如

S = {1,1,1,4,13}
1 = 1
2 = 1+1
3 = 1+1+1
4 = 4
5 = 4+1
6 = 4+1+1
7 = 4+1+1+1

88 无法表示为集合 SS 的子集的和,故集合 SS 的神秘数为 88

现给定 nn 个正整数 a1ana_1\cdots a_nmm 个询问,每次询问给定一个区间 [l,r] (lr)[l,r] \ (l\leq r),求由 al,al+1,,ara_l,a_{l+1},\ldots,a_r 所构成的可重复数字集合的神秘数。

输入格式

第一行一个整数 nn,表示数字个数。
第二行 nn 个整数,从 11 编号。
第三行一个整数 mm,表示询问个数。
以下 mm 行,每行一对整数 l,rl,r,表示一个询问。

输出格式

对于每个询问,输出一行对应的答案。

5
1 2 4 9 10
5
1 1
1 2
1 3
1 4
1 5
2
4
8
8
8

数据范围与提示

对于 10%10 \% 的数据点,n,m10n,m \leq 10
对于 30%30 \% 的数据点,n,m1000n,m \leq 1000
对于 60%60 \% 的数据点,n,m50000n,m \leq 50000
对于 100%100 \% 的数据点,n,m100000n,m \leq 100000ai109\sum a_i \leq 10^9