列表

详情


NC219476. 小L的疑惑

描述

小  作为一位  在 NOIP2017 考场上看着“小凯的疑惑”产生了疑惑。

小  手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小  都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小  想知道在无法准确支付的物品中,第  贵的价值是多少金币?

输入描述

三个正整数 ,它们之间用一个空格隔开,分别表示小  手中金币的面值与要求的第  大。

输出描述

输出一个整数,表示答案。注:输入数据保证存在合法解。

示例1

输入:

3 7 1

输出:

11

说明:

小  手里有面值为  和  的金币无数个,在不找零的前提下无法准确支付价值为  。

其中最贵的物品价值为  ,比  贵的物品都能买到,比如:


原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 61ms, 内存消耗: 74024K, 提交时间: 2022-04-07 21:32:36

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,k,a,b,dp[10000005];
int main() {
	cin>>n>>m>>k;
	dp[1]=n*m-n-m;
	a=1,b=1;
	for (int i=2; i<=k; i++) {
		dp[i]=max(dp[a]-n,dp[b]-m);
		if (dp[i]==dp[a]-n) a++;
		if (dp[i]==dp[b]-m) b++;
	}
	cout<<dp[k];
}

上一题