P3951【NOIP2017 提高组】小凯的疑惑 题解

题目描述

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。

题目链接

NOIP2017 小凯的疑惑

题解


 

不妨设 a < b

假设答案为 x

x≡ma(mod b)(1<=m<=b-1)

x = ma + nb (1<=m<=b-1)

显然当 n≥0 时 x 可以用 a, b 表示出来,不合题意。

因此当 n = -1 时 x 取得最大值,此时 x = ma - b

显然当 m 取得最大值 b - 1 时 x 最大,此时 x = (b - 1)a - b = ab - a - b

因此 a, b 所表示不出的最大的数是 ab - a - b

附上简短代码:(这题太水了)

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long a,b;
    scanf("%lld%lld",&a,&b);
    long long ans;
    ans=a*b-a-b;
    printf("%lld",ans);
    return 0;
}

 

 

 

 

上一篇:洛谷P3955 [NOIP2017 普及组] 图书管理员


下一篇:JZOJ 5067. 【GDOI2017第二轮模拟day2】有理有据题 (KD-tree+历史最值问题)