题目描述
给定两个整数 n 和 m。对于一个长度为 n 的整数序列 A=(a1,a2,…,an),它的平行和定义为 n−m+1 个整数 s1,s2,…,sn−m+1,其中 si=ai+ai+1+…+ai+m−1,对于每个 i 满足 1≤i≤n−m+1。
现已给定 s1,s2,…,sn−m+1 的具体值。你需要回答 q 个询问,每个询问如下:对于第 j 个询问,给定两个整数 lj 和 rj,请你在所有符合条件的 A=(a1,a2,…,an)(注意 ai 可以为负)中,找出区间 alj,alj+1,…,arj 的最大值的最小可能取值。或者判断该最大值可以无限变小。
输入格式
第一行输入两个整数 n 和 m,满足 1≤m≤n≤200000。
第二行输入 n−m+1 个整数 s1,s2,…,sn−m+1,满足 −109≤si≤109。
第三行输入一个整数 q,满足 1≤q≤100000。
接下来的 q 行,每行输入两个整数 lj 和 rj,满足 1≤lj≤rj≤n。
输出格式
输出 q 行。第 j 行输出第 j 个询问的最小可能最大值。如果这个值可以无限变小,输出 unbounded。
输入输出样例 #1
输入 #1
8 4
4 -4 2 6 5
4
3 7
4 6
1 8
2 5
输出 #1
2
unbounded
4
-1
说明/提示
样例输入输出 #1 解析:
对于第一个询问,可以取 A=(9,−4,−3,2,1,2,1,1),平行和为 (4,−4,2,6,5),满足要求。此时 max(a3,…,a7)=max(−3,2,1,2,1)=2,且可以证明 2 是最小可能值。
对于第二个询问,可以让该值任意小。
对于第三个询问,可以取 A=(4,−3,0,3,−4,3,4,2),此时整个序列的最大值是 4,这是最小可能值。