SP16278 TAP2013D - Watching the game
题目描述
在 Nlogonia 王国,有一个被称为「大 O」的湖泊,因为它的形状是一个完美的圆。湖边建有 **N** 所房屋,每两栋相邻房屋之间的间距均为一个 nlogonic 单位。这些房屋以顺时针方向编号,从 **1** 到 **N**,以下图所示为例(这里 **N = 8**)。

假设 **i < j**,那么从房屋 **i** 到房屋 **j** 的顺时针方向距离为 **j - i**,而逆时针方向的距离为 **N - j + i**。请注意,从一所房屋到其自身的距离在两个方向上均为 **N**。
Nlogonia 的居民是狂热的足球迷,因此当一个家庭搬到湖边时,他们非常关心与他们支持同一支球队的邻居距离。有多种原因使这不是一件易事:湖边房屋数量众多,球队种类繁多,且居民来得及去。所以每当有新家庭搬入时,他们都希望知道,与他们支持相同球队的最近房屋在顺时针和逆时针方向上的距离。如果附近没有其他支持相同球队的家庭,则两个方向的距离均应为 **N**,因为最接近的房子就是他们新搬入的房子。你愿意加入欢迎委员会,帮助迎接新邻居并回答他们的问题吗?
Nlogonia 拥有 **F** 支球队,用编号 **0** 到 **F-1** 来表示。为了省去询问每户人家支持哪个球队的麻烦,假设初始状态下,第 **i** 号房子的住户支持第 **e $ _{i} $** 支球队,该编号通过以下递归公式决定:
- **e $ _{1} $ = A**
- **e $ _{i} $ = (B × e $ _{i-1} $ + C) mod F**,对于 **i = 2, 3, ..., N**
其中 **A**、**B** 和 **C** 为常数,式中 **x mod y** 表示 **x** 除以 **y** 的余数。
输入格式
第一行包含两个整数 **N** 和 **F**,分别表示湖边房屋数量和球队数量(满足 $3 \leq N \leq 10^5$ 且 $1 \leq F \leq 10^6$)。第二行包括三个整数 **A**、**B** 和 **C**,它们用于计算每户家的初始球队支持情况($0 \leq A, B, C < F$)。
第三行给出一个整数 **M**,表示即将发生的搬家次数(满足 $1 \leq M \leq 10^5$)。接下来 **M** 行,每行包含两个整数 **I** 和 **E**,表示一个支持球队 **E** 的家庭搬到了第 **I** 号房子($1 \leq I \leq N$ 和 $0 \leq E < F$)。请按照搬家发生的顺序输出信息,并在后续的欢迎中考量这些搬家的影响。
输出格式
输出 **M** 行,第 **i** 行对应输入中描述的第 **i** 次搬家的结果。每行包含两个整数 **d $ _{ccw} $** 和 **d $ _{cw} $**,分别表示逆时针和顺时针方向上,与该房屋中最近的同球队支持者的距离(单位为 nlogonic)。
**本翻译由 AI 自动生成**