#P12510. [集训队互测 2024] 游戏

[集训队互测 2024] 游戏

题目描述

A\rm{A} 和小 B\rm{B} 喜欢玩游戏。

他们在数轴上玩游戏,数轴上的一些位置放着物品,最初他们有一个参数 kk保证 k=0/1k=0/1

接下来小 A\rm{A} 会选定一个位置 xx,那么小 B\rm{B} 的位置就为 x+kx+k,两个人会轮流取走物品,由小 A\rm{A} 先手。

对于当前操作的玩家,他会取走当前剩余物品中离自己的位置距离最近的一个物品,如果有两个物品距离相同,则他会取走位置更小的那个物品。

位置 aabb 的距离定义为 ab|a-b|

最后,在所有物品都被取走后,小 A\rm{A} 想知道,他手上的物品位置的总和是多少。

但是,由于他们非常的闲,他们会进行 qq 次游戏,每次游戏结束后所有物品都会恢复原位置,对于每次游戏小 A\rm{A} 都想知道对于当前的位置 xx,小 B\rm{B} 的位置 x+kx+k,游戏完后小 A\rm{A} 手上的物品位置的总和。

输入格式

第一行三个数 n,q,kn,q,k,表示数轴上存在 nn 个区间的物品,小 A\rm{A} 和小 B\rm{B} 的游戏次数和初始选定的参数。

接下来 nn 行,每行两个数 li,ril_i,r_i 表示在区间 [li,ri][l_i,r_i] 中的每个位置都有一个物品。

接下来 qq 行,每行一个数 xx,表示此轮游戏小 A\rm{A} 的参数为 xx,小 B\rm{B} 的参数为 x+kx+k

输出格式

ansians_i 表示第 ii 次询问的答案,那么输出一个整数表示 i=1qi×ansi\oplus_{i=1}^{q}i \times ans_i

4 2 1
4 5
7 8
10 11
13 13
6
8
16
7 6 0
2 2
4 5
7 8
9 9
13 13
15 15
18 20
19
15
18
17
11
5
468
见 game3.in/ans
这个样例满足子任务 2 的约束条件

见 game4.in/ans
这个样例满足子任务 4 的约束条件

提示

样例 1 解释

对于 x=8x=8 的询问。

A\rm{A} 在结束时手上的物品的位置为 8,7,5,48,7,5,4

B\rm{B} 在结束时手上的物品的位置为 10,11,1310,11,13

因此结束时小 A\rm{A} 手上的物品位置的总和为 8+7+5+4=248+7+5+4 = 24

对于 x=6x=6 的询问,答案为 3232

数据范围

对于所有数据,保证:1n50001 \le n \le 50001q2×1061 \le q \le 2 \times 10^61x5×1061 \le x \le 5 \times 10^61liri5×1061 \le l_i \le r_i \le 5 \times 10^6k=0/1k=0/1i[1,n1],ri<li+1\forall i \in [1,n-1],r_i < l_{i+1}

subtask 1(1515 分):q2000q \le 2000

subtask 2(2525 分):k=0k=0

subtask 3(2020 分):k=1,li=rik=1,l_i = r_i

subtask 4(4040 分):无。