CF898B Proper Nutrition
题目描述
Vasya 有 $n$ 布尔货币。一瓶 Ber-Cola 的价格是 $a$ 布尔货币,一块 Bars 巧克力的价格是 $b$ 布尔货币。他可以购买任意数量(包括零)的 Ber-Cola 和 Bars 巧克力。
请你判断,Vasya 能否用这些钱买到若干瓶 Ber-Cola 和若干块 Bars 巧克力,使得恰好花掉 $n$ 布尔货币。
换句话说,你需要找到两个非负整数 $x$ 和 $y$,使得 Vasya 可以购买 $x$ 瓶 Ber-Cola 和 $y$ 块 Bars 巧克力,且满足 $x·a+y·b=n$。如果没有这样的方案,也请你说明不可能。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 10\,000\,000$),表示 Vasya 拥有的钱数。
第二行包含一个整数 $a$($1 \leq a \leq 10\,000\,000$),表示一瓶 Ber-Cola 的价格。
第三行包含一个整数 $b$($1 \leq b \leq 10\,000\,000$),表示一块 Bars 巧克力的价格。
输出格式
如果没有办法刚好花掉 $n$ 布尔货币,请输出一行 “NO”(不带引号)。
否则,第一行输出 “YES”(不带引号)。第二行输出两个非负整数 $x$ 和 $y$,表示 Vasya 需要购买 $x$ 瓶 Ber-Cola 和 $y$ 块 Bars 巧克力,使得 $x·a+y·b=n$。如果有多组解,你可以输出其中任意一组。
$x$ 和 $y$ 中的任意一个都可以为 $0$。
说明/提示
在第一个样例中,Vasya 可以买两瓶 Ber-Cola 和一块 Bars 巧克力,正好花费 $2·2+1·3=7$ 布尔货币。
在第二个样例中,Vasya 可以有多种花光全部钱的方法:
- 买两瓶 Ber-Cola 和五块 Bars 巧克力;
- 买四瓶 Ber-Cola,不买 Bars 巧克力;
- 不买 Ber-Cola,买 $10$ 块 Bars 巧克力。
在第三个样例中,不可能恰好花掉 $n$ 布尔货币去购买 Ber-Cola 和 Bars 巧克力。
由 ChatGPT 5 翻译