每箱最多装一次,总公斤数不能超过承重,目标是售价之和最大。这是 0-1 背包。
码头有若干箱货,每箱有自己的公斤数和售价。货舱还剩一段承重。每箱最多装一次,也可以不装。在总公斤数不超过剩余承重的前提下,让装上船的售价之和尽量大。
第一行两个整数 m 和 C。m 是箱数,C 是货舱还能承受的公斤数。
接下来 m 行。每行两个整数 g 和 p,依次是这一箱的公斤数和售价。
1≤m≤100,1≤g≤1000,1≤p≤1000,1≤C≤10000。
输出一行一个整数,表示能装上船的最大售价之和。一箱都不装时,这个和是 0。
3 8
5 10
4 7
4 7
14
说明
后两箱一共 4+4=8 公斤,售价 7+7=14。只装第一箱得到 10,剩下 3 公斤放不进另外两箱。第一箱再加任意一箱都会超过 8 公斤。
2 3
4 8
5 9
0
说明
两箱分别是 4 公斤和 5 公斤,都比货舱剩下的 3 公斤更重,只能空着走。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册