题目描述
有一个密码箱,0到n-1中的某些整数是它的密码。 且满足,如果a和b都是它的密码,那么(a+b)%n也是它的密码(a,b可以相等) 某人试了k次密码,前k-1次都失败了,最后一次成功了。 问:该密码箱最多有多少不同的密码。
输入格式
第一行n,k
下面一行k个整数,表示每次试的密码
保证存在合法解
输出格式
一行,表示结果
输入样例
42 5
28 31 10 38 24
输出样例
14
提示
1<=k<=250000 k<=n<=10^14
分析
首先不可能存在存在两个密码互质
如果有两个密码互质,那么0到n-1就都是密码
证明
设两个密码分别为a,b,根据扩展欧几里得定理,以下方程肯定有解
a x + b y = 1 ax+by=1 ax+by=1
从而得知以下方程有解
a x + b y ≡ 1 ( m o d n ) ax+by\equiv1(mod \ n) ax+by≡1(mod n)
虽然题目中只能用加法,x与y可能小于0,但是因为
a ( x + k n ) + b ( y + k n ) ≡ a x + b y ≡ 1 ( m o d n ) a(x+kn)+b(y+kn)\equiv ax+by\equiv1(mod \ n) a(x+kn)+b(y+<