题目背景
$\textcolor{black}{\text{M}} \textcolor{red}{\text{ivik}}$发怒了,机房的deco瑟瑟发抖
题目描述
$\textcolor{black}{\text{M}} \textcolor{red}{\text{ivik}}$要写一篇文章,在写文章时,他有n个备选的单词,第i个单词有一个长度ai,$\textcolor{black}{\text{M}} \textcolor{red}{\text{ivik}}$可以选择从第i个单词开始写作,一共写k秒,第j秒会写上第i+j−1(j∈[1,k])个单词,并且他在写作时每秒都会获得愉悦值,第j秒的愉悦值为maxl=ii+j−1al,现在,请你帮他算出,他每一次写作获得的愉悦值之和
一句话题意:给出一个序列和多组询问 (l,q) ,求
i=l∑l+q−1l≤j≤imaxaj
数据要求强制在线
输入格式
第一行,两个数,n,t,代表词汇个数和问题个数
第二行,n个数,第i个数代表ai
接下来t行,每行两个数,u,v,l=1+(u⊕lastans)%n,q=1+(v⊕(lastans+1))%(n−l+1),代表查询从第 l 秒开始,写作 q 秒的愉悦度之和
lastans表示上一次查询的答案,初始lastans为0
输出格式
对于每个询问,回答一行,代表答案
3 2
1 2 3
1 1
1 2
2
3
提示
样例解释
第一个询问 1,1,解密后得到 l=2,q=1 ,则按题意可得所求即为区间 [2,2] 的最大值,为 2
第一个询问 1,2 ,解密后得到 l=1,q=2 ,则所求即为区间 [1,1] 和区间 [1,2] 的最大值之和,为 3
对于20%的数据,n≤1000,t≤1000
对于100%的数据,n≤500000,t≤500000,1≤ai≤109(i∈[1,n])