P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目
题解
题意:找出最大的 X 使得 na+mb=X 其中n,m中至少有一个为负数。
由于a,b互质所以n,m一定有解,即X可取任意整数。
因为n,m至少一个为负数,贪心的想最大的X一定在n=-1或者m=-1的情况。
分类讨论,n=-1时,原式子等价于-a+mb=X,此时m最大取a-1(理由见下一行),则X= ab-a-b;m=-1同理。
理由:当m=a时,原式=-a+ab=(b-1)*a+0*b,此时n,m都为非负整数;m>a的情况同理。
code
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll a,b; cin>>a>>b; cout<<a*b-a-b<<endl; return 0; }
浙公网安备 33010602011771号