洛谷 P3951 小凯的疑惑
JDOJ 3154: [NOIP2017]小凯的疑惑 D1 T1
Description
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
Input
输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。
Output
输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
Sample Input
3 7
Sample Output
11
HINT
【样例说明】
小凯手中有面值为3 和7的金币无数个,在不找零的前提下无法准确支付价值为1、
2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:
12 = 3 * 4 + 7 * 0
13 = 3 * 2 + 7 * 1
14 = 3 * 0 + 7 * 2
15 = 3 * 5 + 7 * 0
【数据规模】
对于 30%的数据: 1 ≤ a,b ≤ 50。
对于 60%的数据: 1 ≤ a,b ≤ 10,000。
对于 100%的数据:1 ≤ a,b ≤ 1,000,000,000。
Source
题解:
可以推导出公式:
[ans=(a-1) imes b-a
]
于是码量超少地解决问题,注意开long long。
代码:
#include<cstdio>
int main()
{
long long a,b,t,ans;
scanf("%lld%lld",&a,&b);
ans=a*b-a-b;
printf("%lld",ans);
return 0;
}