题目如下(来自信奥一本通网站2003)
2003:高效工作
时间限制: 1000 ms 内存限制: 131072 KB
【题目描述】
小佳佳的父亲一直在努力工作。他最近一段时期的工作情况描述如下:
小佳佳的父亲一开始拥有钱的数量为 M
,一共有 N
项工作,做完第 i
项工作需要花掉的钱数为 Di
,同时,做完第 i
项工作后能马上获得钱数为Ci
的奖励,当然Ci
一定会小于 Di
,同一项工作只能做一次。特别说明:小佳佳的父亲不能借钱来做某项工作。
现在给出每项工作的数据,小佳佳想知道他父亲最多能做完多少项工作?
【输入】
第一行两个正整数 N,M
,表示工作项目数和小佳佳的父亲一开始拥有钱的数量。
第二行有 N
个正整数 Di
, 第 i
个数对应第 i
项工作。
第三行有 N
个非负整数 Ci
, 第 i
个数对应第 i
项工作。
【输出】
一个整数,表示最多能做完的工作项目数。
【输入样例】
4 13
5 8 2 1
2 0 0 0
【输出样例】
3
【提示】
样例解释:他可以选择 1, 3, 4 工作项目。
【数据范围】
对于 30% 的数据, 1≤N≤10
;
对于另外 10% 的数据, Ci=0
;
对于另外 10% 的数据, Di−Ci=1
;
对于另外 30% 的数据, 1≤N≤1000
;
对于 100% 的数据, 1≤N≤5000
;
对于所有数据,0≤Ci<Di≤5000,1≤Di,M≤5000
。
【来源】
2020年成都市中小学生程序比赛(初中组)
我一开始以为可以用贪心算法,但后来发现不行,又尝试DP但写出来长得像背包问题(当然没过)
现在看来大概率是DP,但我一个小蒟蒻肯定火候不够,所以来求助各位dalao。