bzoj#P2138. stone

stone

题目描述

话说 Nan 在海边等人,预计还要等上 MM 分钟。为了打发时间,他玩起了石子。 Nan 搬来了 NN堆石子,编号为 1N1\sim N,每堆包含 AiA_i 颗石子。每 11 分钟,Nan 会在编号在 [Li,Ri][L_i,R_i] 之间的石堆中挑出任意 KiK_i 颗扔向大海(好疼的玩法),如果 [Li,Ri][L_i,R_i] 剩下石子不够 KiK_i 颗,则取尽量地多。为了保留扔石子的新鲜感,Nan 保证任意两个区间 [Li,Ri][L_i,R_i][Lj,Rj][L_j,R_j] ,不会存在 LiLj and RjRiL_i\le L_j\ \mathrm{and}\ R_j\le R_i 的情况,即任意两段区间不存在包含关系。可是,如果选择不当,可能无法扔出最多的石子,这时 Nan 就会不高兴了。所以他希望制定一个计划,他告诉你他 mm 分钟打算扔的区间 [Li,Ri][L_i,R_i] 以及 KiK_i 。现在他想你告诉他,在满足前 i1i-1 分钟都取到你回答的颗数的情况下,第 ii 分钟最多能取多少个石子。

输入格式

第一行正整数 NN ,表示石子的堆数;

第二行正整数 x,y,z,Px,y,z,P1x,y,zN1\le x,y,z\le N1P5001\le P\le 500

有等式 Ai=[(ix)2+(iy)2+(iz)2]modPA_{i}=[(i-x)^2+(i-y)^2+(i-z)^2] \mod P

第三行正整数 MM,表示有 MM 分钟;

第四行正整数 K1,K2,x,y,z,PK_{1},K_{2},x,y,z,P1x,y,z1031\le x,y,z\le 10^31P1041\le P\le 10^4

有等式 Ki=(x×Ki1+y×Ki2+z)modPK_{i}=(x\times K_{i-1}+y\times K_{i-2}+z)\mod P

接下来 MM 行,每行两个正整数 Li,RiL_{i},R_{i}

输出格式

MM 行,第 ii 行表示第 ii 分钟最多能取多少石子。

5
3 2 4 7
3
2 5 2 6 4 9
2 4
1 2
3 5
2
5
5

数据规模与约定

对于 100%100\%​​​​ 的数据,1N4×1041\le N\le 4\times 10^41MN1\le M\le N1LiRiN1\le L_{i}\le R_{i}\le N1Ai5001\le A_{i}\le 500

样例说明

石子每堆个数分别为 0,5,2,5,00,5,2,5,0​​​​​​​​​​。

11​ 分钟,从第 22​​​​​​​​​​​ 到第 44​​​​​​​​​​​​ 堆中选 22​​​​​​​​​​​​ 个;

22​​ 分钟,从第 11​​​ 到第 22​​​​​​​​​ 堆中选 55​​​​​​​​ 个;

33 分钟,从第 33​​​​ 到第 55​​​​​ 堆中选 88​​​​​​​ 个,但最多只能选 55​​​​​​ 个。