小明在出差结束后返回了公司所在的城市,在填写差旅报销申请时,粗心的小明发现自己弄丢了出差过程中的票据。
为了弥补小明的损失,公司同意小明用别的票据进行报销,但是公司财务要求小明提交的票据中任意两张的日期差不小于 K 天,且总金额不得超过实际差旅费用 M。
比如财务要求 K = 7 时,若小明提交了一张 1 月 8 日的票据,小明就不能提交 1 月 2 日至 1 月 14 日之间的其他票据,1 月 1 日及之前和 1 月 15 日及之后的票据则可以提交。
公司的同事们一起给小明凑了 N 张票据,小明现在想要请你帮他整理一下,从中选取出符合财务要求的票据,并使总金额尽可能接近 M。
需要注意,由于这些票据都是同一年的,因此 12 月底的票据不会影响到 1 月初票据的提交。这一年不是闰年。
第 1 行:3 个整数,N, M, K
第 2 . . . N + 1 行:每行 3 个整数 mi , di , vi,第 i + 1 行表示第 i 张票据时间的月份 mi 和日期 di,vi 表示该票据的面值
4 16 3 1 1 1 1 3 2 1 4 4 1 6 8
10
选择 1 月 3 日和 1 月 6 日的票据
对于 100% 的评测用例,1 ≤ N ≤ 1000, 1 ≤ M ≤ 5000, 1 ≤ K ≤ 50, 1 ≤ mi ≤ 12, 1 ≤ di ≤ 31, 1 ≤ vi ≤ 400
日期保证合法。
Dotcpp编程2022年六月月赛,欢迎报名参赛!
蓝桥杯决赛刚刚结束,快来测测身手吧!
比赛结束后欢迎提交题解,获得优质题解的小伙伴将获得小礼品一份~
PS:Dotcpp支持创建自主比赛,适合社团、老师教学训练,欢迎使用!