简要题意:
给定两种互质的硬币面值,求不能用这两个硬币表示出的面值个数。
本题作为 的签到题,有一定的难度。
首先,互质 是一个很重要的条件。
为什么要互质?也就是说, .
众所周知:
无解且 是最大的那个。显然:
(这是因为, 的部分可以当做 的整体被列入 中)
此时, 则显然有解。所以不可以。
此时, 越大则 越大,所以取 .
代入得:
(原来这么简单)
时间复杂度: .
实际得分: .
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
inline int read(){char ch=getchar();int f=1;while(ch<'0' || ch>'9') {if(ch=='-') f=-f; ch=getchar();}
int x=0;while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x*f;}
int main(){
int n=read(),m=read();
printf("%lld\n",1ll*n*m-n-m);
return 0;
}