P3951 小凯的疑惑
思路:
若a<b
假设x为答案:
x = m a + n b x=ma+nb x=ma+nb
显然n>=0,x是一定会表示出来的,不符合题意
那再假设n=-1,那x=ma-b
题目要求不能表达的最大,那是不是让m最大就行了。
咱现在分三种情况来讨论:
-
m=b,将其带入原式:
x = m a − b x=ma-b x=ma−b
得 : x = b a − b 得:x=ba-b 得:x=ba−b
即 x = ( a − 1 ) b 即 x=(a-1)b 即x=(a−1)b
那么n不就大于0了,不符合题意 -
m>b,假设m=b+1;
带回原式:(b+1)a-b
ad+a-b
(a-1)b+a
带回ma+nb,你会发现n=a-1,那这又不是成了个正数了,不符合题意。 -
m<b,那最大就是b-1
带回原式:(b-1)a-b
然后你会发现,这不就欧了。
所以再化一下简:
答案:ab-a-b
#include<bits/stdc++.h>
long long a,b;
int main()
{
scanf("%lld%lld",&a,&b);
printf("%lld\n",(a*b-a-b);
return 0;
}