CFCF2180A.Carnival Wheel
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你有一个被分成 l 个区域的奖品转盘,这些区域编号从 0 到 l−1。这些区域排列成一个圆环,所以在 l−1 区域之后,编号又从 0 区域重新开始。
初始时,指针指向第 a 区域。每次转动转盘时,指针都会正好前进 b 个区域。也就是说,转动一次后,指针会从第 a 区域移动到第 (a+b)modl 区域;转动两次后到达第 (a+2b)modl 区域,依此类推∗。
你可以选择任意次数地转动转盘(包括零次)。当你停止时,指针最终停留的区域决定了你的奖品:你获得的奖金等于该区域的编号。
你能获得的最大奖金是多少?
∗ 这里,xmody 表示 x 除以 y 的余数。
输入格式
每组测试包含多组测试数据。第一行为测试数据组数 t(1≤t≤500)。
接下来的每组测试数据,每行为三个整数 l,a,b(1≤l,b≤5000,0≤a≤l−1)。
输出格式
对于每组测试数据,输出你能获得的最大奖金。
输入输出样例
输入#1
4 5 3 2 2 0 6 8 2 4 100 0 1
输出#1
4 0 6 99
说明/提示
在第一个测试数据中,通过转动转盘三次后再领奖,你可以获得最大值 4。指针位置的序列为:3,0,2,4,1,3,0,…。
在第二个测试数据中,指针会一直停留在第 0 区域,不会改变。
在第四个测试数据中,b=1 并且从第 0 区域开始,指针会遍历所有区域,包括最后一个区域。
由 ChatGPT 5 翻译