由乃救爷爷
题目背景
大家看过葫芦娃吧?
没看过也没关系,让由乃告诉你吧
![](https://cdn.luogu.com.cn/upload/pic/5725.png)
![](https://cdn.luogu.com.cn/upload/pic/5740.png)
传说明斯克航空航天局里关着两个坦克,strv103b和krv。
![](https://cdn.luogu.com.cn/upload/pic/5733.png)
![](https://cdn.luogu.com.cn/upload/pic/5722.png)
鼠爷不小心打破了明斯克航空航天局,两个坦克逃了出来,从此其他坦克过上了水深火热的生活。
明斯克航空航天局急忙去告诉一个叫做serb的光头,只有YY出七辆图纸车,才能消灭这两个卖头势力。
serbYY出了七个连图纸都没有的车,却被瑞典人从bbs中窥见 。他们摧毁不了这七个YY车,
就把serb和鼠爷抓去。但是这时候七个坦克模型已经建出来了。
她们分别是 T28原型,T100lt,907工程,蟋蟀15,WZ111,FV215b183,FV215b
她们为了消灭卖头势力,救出serb和鼠爷,一个接一个去与卖头势力搏斗。
![](https://cdn.luogu.com.cn/upload/pic/5723.png)
T28原是正面很硬的TD,但装甲在金币弹面前一点用都没有,直接被krv卖头打死。
![](https://cdn.luogu.com.cn/upload/pic/5728.png)
T100lt是隐蔽超好的眼车,却因为没有视野,被103b活活黑死。
![](https://cdn.luogu.com.cn/upload/pic/5724.png)
907工程是铁头,被krv顶牛直接抽包抽死。
![](https://cdn.luogu.com.cn/upload/pic/5727.png)
蟋蟀15会黑枪,却因为辣鸡的转向被krv绕死。
![](https://cdn.luogu.com.cn/upload/pic/5729.png)
WZ111有三百穿,被103b穿侧面一发爆了弹药架。
![](https://cdn.luogu.com.cn/upload/pic/5730.png)
FV215b183有183炮,103b和krv瑟瑟发抖,不敢打她,于是她解救了其他所有坦克。
![](https://cdn.luogu.com.cn/upload/pic/5734.png)
但是自己的兄弟FV215b因为瑞典人的诱惑,决定叛变(因为183OO大),TK了183一发,然后183着火烧死了,结果所有坦克都被103b和krv降服了。
瑞典人把七个坦克还有鼠爷一起给serb,让serb做出两辆最强坦克加入瑞典阵营。serb用尽了他所有的脑洞,做出了两辆车E100WT和T-50-2
![](https://cdn.luogu.com.cn/upload/pic/5731.png)
![](https://cdn.luogu.com.cn/upload/pic/5732.png)
krv和103b看到之后蛤蛤大笑
krv:E100WT,10mm的脸,不被HE糊死才怪
103b:E100WT,灯塔般的隐蔽,不被黑死才怪
krv:T-50-2,这血量,我一炮就可以打死
103b:T-50-2,看是你机动好还是我黑枪准
serb:百运,胶水,让她们看看你们的厉害
题目描述
故事还没讲完
krv骑坡卖头,却发现百运凭借优秀的精度炮炮打穿她的观察孔
krv慌了,跑去城市里面伸缩,被百运站桩撸死
strv103b跑去草后黑枪,看见胶水在肉侦,却发现自己根本打不中她,然后就被胶水点亮了,百运一梭子128的ARCR飞了过来
strv103b怂了,准备跑路了,但是还没等到自己切换回行走模式,胶水已经开始断她的腿了,被胶水断死
瑞典车们高呼不可战胜,从此不敢嚣张了
然后serb把百运和胶水加入了WOT
从此
其他坦克过上了更加水深火热的生活
然而你又不玩WOT,这事情不管你什么事啊
然而yql是大家的妹妹,所以这件事很重要:
yql在AK曼哈顿OI,CTSC,APIO之后,开始研究数学题。
由乃在挂了字符串OI,CTSC,APIO之后,开始研究大母神原型。
yql出了个数学题,由乃画出了一个表示大母神的图腾。
然后把这两个合成了一个题:
然而由于未知原因那个题挂掉了。。。
由乃想起来SCOI 2017 电子科技大学出了个卡常的rmq,然后发生了一件很有趣的事情
就是一位姓王的同学凭借奇奇怪怪的常数优化怒草了那个题,还比标程块了233倍
所以由乃也出了个卡常rmq,因为没题出了
输入输出格式
输入格式
给你一个随机数生成器
```cpp
namespace GenHelper
{
unsigned z1,z2,z3,z4,b;
unsigned rand_()
{
b=((z1<<6)^z1)>>13;
z1=((z1&4294967294U)<<18)^b;
b=((z2<<2)^z2)>>27;
z2=((z2&4294967288U)<<2)^b;
b=((z3<<13)^z3)>>21;
z3=((z3&4294967280U)<<7)^b;
b=((z4<<3)^z4)>>12;
z4=((z4&4294967168U)<<13)^b;
return (z1^z2^z3^z4);
}
}
void srand(unsigned x)
{using namespace GenHelper;
z1=x; z2=(~x)^0x233333333U; z3=x^0x1234598766U; z4=(~x)+51;}
int read()
{
using namespace GenHelper;
int a=rand_()&32767;
int b=rand_()&32767;
return a*32768+b;
}
```
读入三个数n,m,s
你需要srand( s )一下
然后n个数表示a[i],这个直接调用read函数
然后m个询问,表示区间**最大值**,询问的区间是l = read() % n + 1 , r = read() % n + 1,注意有可能l > r
输出格式
输出一个unsigned long long 表示每次询问的答案的和
输入输出样例
输入样例 #1
233 233 233
输出样例 #1
243704637294
说明
```cpp
n,m=1000,1s
n,m=1000,1s
n,m=100000,1s
n,m=500000,1s
n,m=1000000,1s
n,m=10000000,5s
n,m=12000000,5s
n,m=15000000,5s
n,m=20000000,5s
```