#cspx02007. 建水紫陶的烧制

建水紫陶的烧制

建水紫陶的烧制

题目背景

建水紫陶名扬天下,位列中国四大名陶。在最后的烧制环节,工匠们需要将陶坯排成一圈进行筛选。每一件陶坯都有一个从 11NN 的原始编号。由于窑位和温度控制极其考究,筛选过程遵循着古老而复杂的规则。

题目描述

现有 NN 件陶坯排成一个环形。筛选过程总共进行 N1N-1 轮,每一轮都会取走一件陶坯。

筛选规则如下:

  1. 每一轮的跳跃步长 KiK_i 是动态变化的。第 ii 轮(1i<N1 \le i < N)的步长由以下公式给出:

    Ki=(i×A+B)(modC)+1K_i = (i \times A + B) \pmod C + 1

    其中 A,B,CA, B, C 是由云南不同民族传统编号决定的常数。

  2. 第一轮从编号为 11 的陶坯开始计数。

  3. 计数与取出:在每一轮中,从当前起始位置开始,向后数第 KiK_i存活的陶坯并将其取走。 注:数 KiK_i 个意味着跳过 Ki1K_i-1 个存活陶坯。

  4. 下一轮起点:取走一件陶坯后,下一轮的计数起始点为被取走陶坯的下一个存活位置

  5. 特殊加成(价值计算): 如果被取走的陶坯原始编号是一个质数,则该陶坯被视为具有“特殊加成”,会产生等同于其编号的价值 ViV_i。如果不是质数,则价值为 00

任务:

  1. 求最后剩下的那一件陶坯的原始编号。
  2. 求所有被取走的陶坯产生的总价值。

输入格式

输入仅一行,包含四个整数 N,A,B,CN, A, B, C

输出格式

输出共两行。 第一行输出一个整数,表示最后剩下的陶坯原始编号。 第二行输出一个整数,表示被取走的陶坯总价值。

样例 #1

样例输入 #1

5 1 1 10

样例输出 #1

4
10

样例解释 #1

  1. N=5,A=1,B=1,C=10N=5, A=1, B=1, C=10。初始:{1,2,3,4,5}\{1, 2, 3, 4, 5\},起始位置为 11
  2. 第 1 轮:K1=(1×1+1)%10+1=3K_1 = (1\times1+1)\%10+1 = 3。从 11 开始数 3 个存活陶坯:1231 \to 2 \to 3。取走 3(质数,价值 3)。剩余 {1,2,4,5}\{1, 2, 4, 5\},下轮起点为 44
  3. 第 2 轮:K2=(2×1+1)%10+1=4K_2 = (2\times1+1)\%10+1 = 4。从 44 开始数 4 个存活陶坯:45124 \to 5 \to 1 \to 2。取走 2(质数,价值 2)。剩余 {1,4,5}\{1, 4, 5\},下轮起点为 44
  4. 第 3 轮:K3=(3×1+1)%10+1=5K_3 = (3\times1+1)\%10+1 = 5。从 44 开始数 5 个存活陶坯:451454 \to 5 \to 1 \to 4 \to 5。取走 5(质数,价值 5)。剩余 {1,4}\{1, 4\},下轮起点为 11
  5. 第 4 轮:K4=(4×1+1)%10+1=6K_4 = (4\times1+1)\%10+1 = 6。从 11 开始数 6 个存活陶坯:1414141 \to 4 \to 1 \to 4 \to 1 \to 4。取走 1。剩余 {4}\{4\}
  6. 最后剩下的是 4。总价值 3+2+5=103+2+5 = 10

数据范围与提示

  • 对于 30%30\% 的数据:1N10001 \le N \le 1000
  • 对于 60%60\% 的数据:1N1051 \le N \le 10^5
  • 对于 100%100\% 的数据:1N1061 \le N \le 10^61A,B,C1091 \le A, B, C \le 10^9
  • 时间限制:2.0s,内存限制:512MB。