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;
}
复制代码

 

posted @   黑屿白  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示