【提升组NOIP2017】小凯的疑惑(附证实)

小凯的疑惑

描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。 每种金币小凯都有 无数个。 在不找零的状况下, 仅凭这两种金币,有些物品他是没法准确支付的。 如今小 凯想知道在没法准确支付的物品中,最贵的价值是多少金币? 注意:输入数据保证存在 小凯没法准确支付的商品html

输入
输入数据仅一行, 包含两个正整数 a 和 b, 它们之间用一个空格隔开, 表示小凯手中金币的面值
输出
输出文件仅一行,一个正整数 N,表示不找零的状况下, 小凯用手中的金币不能准 确支付的最贵的物品的价值。web

样例输入
3 7
样例输出
11app

【输入输出样例 1 说明】 小凯手中有面值为 3和 7的金币无数个,在不找零的前提下没法准确支付价值为 一、 二、 四、 五、 八、 11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,好比:
12 = 3 * 4 + 7 * 0
13 = 3 * 2 + 7 * 1
14 = 3 * 0 + 7 * 2
15 = 3 * 5 + 7 * 0
……svg

【数据规模与约定】
对于 30%的数据: 1 ≤ a, b ≤ 50。
对于 60%的数据: 1 ≤ a, b ≤ 10,000。
对于 100%的数据: 1 ≤ a, b ≤ 1,000,000,000。spa


Analysis

水题???
为何我以为很差想啊……证实辣么难orm

但各路大神纷纷表示打表打表打表
遇到数学问题就打表找规律
而后的而后就显而易见了
a n s = a b ( a + b ) ans=a*b-(a+b) xml

可我仍是不服啊,为何为何为何???
来乱胡证实一下,能够反证试一下:
假设存在一组正整数解使得 a x + b y = a b a b ax+by=a*b-a-b
a ( x + 1 ) + b ( y + 1 ) = a b a(x+1)+b(y+1)=ab
发现 b ( x + 1 ) , a ( y + 1 ) b|(x+1),a|(y+1) (由于只有这样左边才可能含有a*b)
又由于 x > = 0 , y > = 0 x>=0,y>=0
–> x + 1 > = 1 , y + 1 > = 1 x+1>=1,y+1>=1
–> a ( x + 1 ) + b ( y + 1 ) > = a b + b a = 2 a b a(x+1)+b(y+1)>=a*b+b*a=2*ab
又已知 a ( x + 1 ) + b ( y + 1 ) = a b a(x+1)+b(y+1)=ab ,则假设不成立,找不出一组解使得
a x + b y = a b a b ax+by=a*b-a-b

htm

那为何大于这个 a b a b a*b-a-b 的数又能够所有被凑出来呢??
(这段证实摘自这里
对于任意正整数C>=ab−a−b+1
即C+a+b>=ab+1
设C+a+b=ka+m(k>=b,1<=m<=a−1)
注意到(a,b)=1
由裴蜀定理,知存在x0,y0∈Z使得
ax0+by0=1
故存在x1,y1∈Z,−(b−1)<=x1<=−1
使得ax1+by1=m
(解释一下,这里的意思实际上是设−(b−1)<=x1<=−1,必定存在整数y1y1使得ax1+by1=m成立。缘由就是在整数x1的取值中一共有b−1个数,y1=(m−ax1)/b,老是能够找到x1使得m−ax1能被b整除)
显然,y1>=1(ax1<0,m>0,b>0所以y1>=1)
因而,取x=k+x1−1,y=y1−1
注意到x1,y1的取值范围,得x,y>=0
得ax+by=C
因此任意C>=ab−a−b+1都存在x,y>=0,ax+by=C
证毕blog

Code

还须要放???
固然不用get