测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A4229. 【动态规划】【背包】小伟的购物计划

编程题 普及-
知识点

题目描述

小伟家购置了新房子,有了他自己的房间,他需要购买一些物品。妈妈对他说:“你的房间需要购买什么物品,怎么布置,你说了算,但不超过N元钱”。小伟开始做预算,可他想买的东西太多了,若全买肯定会超过妈妈限定的预算N元。于是他把每件物品规定了一个重要度,分为5等:用整数1−5表示,第5等最重要。
他还查到了每件物品的价格(都是整数)。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。
设第j件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1,j2,…,j

输入格式

第一行,为2个正整数,用一个空格隔开:n m(其中n <30000)表示总钱数,m <25为希望购买物品的个数。)
从第2行到第m+1行,第j行给出了编号为j−1的物品的基本数据,每行有2个非负整数 v p(其中v表示该物品的价格(v≤10000),p表示该物品的重要度(1−5)

输出格式

1个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值( <100000000)。

输入输出样例

输入 #1
1000 5
800 2
400 5
300 5
400 3
200 2
输出 #1
3900
上一题 去做题 下一题