题目描述

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

输入描述:


输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。


输出描述:


输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。


示例1

输入

 


3 7


输出

 


11


说明


小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为 1、2、4、5、8、11的物品,其中最贵的物品价值为11。 比11贵的物品都能买到,比如: 12 = 3 x 4 + 7 x 0 13 = 3 x 2 + 7 x1 14 = 3 x 0 + 7 x 2 15 = 3 x 5 + 7 x 0


备注:


对于 30% 的数据:1 ≤ a,b ≤ 50; 对于 60% 的数据: 1 ≤ a,b ≤ 10,000; 对于 100% 的数据:1 ≤ a,b ≤ 1,000,000,000。


题解 :  给定a,b . 且gcd(a,b)=1,求最大的C,使得C不能被表示为ax+by(x≥0,y≥0)的形式

网上有大神给出一道数学定理 -  赛瓦维斯特定理. 即答案是 a*b - a -b ;


#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
using namespace std ;
typedef long long LL ;
int main()
{
LL a ,b ;
scanf("%lld%lld",&a,&b);
printf("%lld",a*b-a-b);
return 0 ;

}