链接:https://ac.nowcoder.com/acm/problem/16414
来源:牛客网
题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
输入描述:
输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。
输出描述:
输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
定理: 对于正整数p, q满足gcd(p,q)=1, 我们有px+qy=n无非负整数解的最大正整数n为pq−p−q。
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
#define ll long long
#define mem(ar,num) memset(ar,num,sizeof(ar))
#define me(ar) memset(ar,0,sizeof(ar))
#define lowbit(x) (x&(-x))
#define IOS ios::sync_with_stdio(false)
#define DEBuG cout<<endl<<"DEBuG"<<endl;
using namespace std;
ll a,b,c;
int main(){IOS;
cin>>a>>b;
cout<<(a*b-a-b);
return 0;
}