#2039. 【基础】夏令营小旗手

【基础】夏令营小旗手

题目描述

2015 年江苏省《信息与未来》夏令营在洪泽县实验小学进行,组委会决定在洪泽县实验小学的学生中推选一名小旗手,推选方法如下: 洪泽县实验小学有 nn 名学生(1n10001 \le n \le 1000)。每名学生有一个学号,学号为 1,2,,n1,2,\dots,n。同时,每名同学有一张选票,可以推选一名同学为小棋手。最后,得票最多者当选,若得票最多者票数相同,则学号小者当选。

例如,选票为 2 3 4 4 3 4 1 62\ 3\ 4\ 4\ 3\ 4\ 1\ 6,4 号学生得票最多(3 票)当选小棋手。

输入格式

一行,两个整数 nnx1x_1,其中 nn 为学生数,x1x_1 为第一张选票上的学号。之后的选票 xix_ii2i \ge 2)由以下递推关系生成:

xi=(xi1×37+33031)modn+1x_i = (x_{i-1} \times 37 + 33031) \bmod n + 1

其中 mod\bmod 为取余运算,例如 13mod8=513 \bmod 8 = 521mod21=021 \bmod 21 = 0。根据这个公式,就能从 x1x_1 推出 x2,x3,,xnx_2, x_3, \dots, x_n

输出格式

一个整数,即选出的小棋手的学号。

样例

5 2
2

样例解释 n=5n=5x1=2x_1=2,生成的选票依次为 2,1,4,5,22, 1, 4, 5, 2。得票情况:学号 2 得 2 票,学号 1、4、5 各得 1 票。学号 2 得票最多,故当选。

数据范围

  • 1n10001 \le n \le 1000

来源

2015 江苏省青少年信息学奥林匹克竞赛复赛(省赛·数组问题)