題目描述
雙11到了,小麗有很多想買的東西。我們都知道,購買物品之後好評能返現。小麗的購物車裡就有n個物品等待購買,而每個物品的**是p元,這個物品好評之後可以返現r元(r≤pr≤p),不過要確認收貨之後才能好評。但小麗只有m元,不可能一次性買完,所以小麗對它們的喜愛程度也不同,每個物品的喜愛程度是w,小麗想知道她能買到的物品,最大的喜愛程度一共是多少?
我們可以認為小麗購買的物品可以立刻確認收貨,然後獲得返現。
輸入格式
輸入物品個數n,小麗賬戶餘額m。(1≤n≤5001≤n≤500,1≤m≤50001≤m≤5000)
接下來n行輸入如下資料:
單個物品p元,喜愛程度w,返現的值為r。(1≤r≤p≤1001≤r≤p≤100,1≤w≤1001≤w≤100)
輸出格式
輸出一行最大的喜愛程度x
樣例輸入
4 100
101 100 100
80 40 40
100 40 30
60 10 20
樣例輸出
50提示
先買第2件物品,花費80元,獲得40元的返現,剩餘60元錢。喜愛程度為40
再買第4件物品,花費60元,獲得20元的返現,剩餘20元錢,喜愛程度為40+10=50
所以輸出50
#include
#include
using
namespace std;
const
int maxm=
5005
;const
int maxn=
505;
int dp[maxm]
;struct node
;node a[maxn]
;bool
cmp(node x,node y)
intmain()
貪心 01揹包 能量石 01揹包 貪心
相關 調整法證明貪心問題 734.能量石 參考題解 辰風 能量石十分清晰!重點 貪心證明 01 揹包 思維 google kickstart2019 round b problem b 貪心證明 狀態計算 當然,空間優化為 1 維也是完全ok的。引自辰風 能量石十分清晰!利用貪心來對所有的能量石排序...
貪心揹包問題
有乙個揹包,揹包容量是m 150。有7個物品,物品可以分割成任意大小。要求盡可能讓裝入揹包中的物品總價值最大,但不能超過總容量。物品 a b c d e f g 重量 35 30 60 50 40 10 25 價值 10 40 30 50 35 40 30 分析 目標函式 pi最大 約束條件是裝入的...
飯卡(揹包 貪心)
電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷餘額。如果購買乙個商品之前,卡上的剩餘金額大於或等於5元,就一定可以購買成功 即使購買後卡上餘額為負 否則無法購買 即使金額足夠 所以大家都希望盡量使卡上的餘額最少。某天,食堂中有n種菜 每種菜可購買一次。已知每種菜的 以及卡上的餘額,問最少...