蒟蒻问个题
  • 板块灌水区
  • 楼主xmc1027wenti
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/11/23 11:56
  • 上次更新2024/11/23 14:50:21
查看原帖
蒟蒻问个题
1101630
xmc1027wenti楼主2024/11/23 11:56

题:# 05-ZZ06-04-积分兑换(2)

题目描述

某学员积累了m积分,他想兑换玩具。兑换每个玩具需要一定的积分。现在已知有n个玩具,以及兑换每个玩具需要的积分。现在该学员准备去兑换玩具,他希望兑换掉的积分越多越好、兑换后剩余的积分越少越好,因为这些积分有期限,再不兑换就要清零了。问该学员最多可以花掉多少积分。

输入格式

输入数据第一行为两个正整数m和n,用空格隔开,m≤20000,n≤20,分别表示该学员的积分、玩具的数量。第二行为n个正整数,用空格隔开,范围为[1, 1000],表示兑换每个玩具需要的积分。

输出格式

输出数据占一行,为求得的答案。

样例 #1

样例输入 #1

300 10
82 96 87 96 67 80 69 67 88 81

样例输出 #1

299

样例 #2

样例输入 #2

820 10
82 96 87 96 67 80 69 67 88 81

样例输出 #2

813

提示

样例1说明:

兑换第1、5、7、10共4个玩具,或第1、7、8、10共4个玩具,或第2、5、7、8共4个玩具,或第4、5、7、8共4个玩具,总共花费299积分,剩余1积分。

样例2说明:

兑换10个玩具总共需要813积分,因此全部兑换,花掉813积分,还剩7积分。

本题出处

本题源自以下教材的测试题:王桂平, 林晓淅, 明正华, 等编著. C++趣味编程及算法进阶. 北京大学出版社, 2025年将出版.

本以为是sort,结果老师说是01背包,但蒟蒻算法才学到递归递推,求大佬帮助

2024/11/23 11:56
加载中...