計蒜客 節食的限制(01揹包)

2021-09-05 10:49:37 字數 777 閱讀 1437

bessie像她的諸多姊妹一樣,因為從farmer  john的草地吃了太多美味的草而長出了太多的贅肉。所以fj將她置於乙個及其嚴格的節食計畫之中。她每天不能吃多過h  (5  < =  h  < =  45,000)公斤的乾草。 bessie只能吃一整捆乾草;當她開始吃一捆乾草的之後就再也停不下來了。她有乙個完整的n  (1  < =  n  < =  500)捆可以給她當作晚餐的乾草的清單。她自然想要盡量吃到更多的乾草。很自然地,每捆乾草只能被吃一次(即使在列表中相同的重量可能出現2次,但是這表示的是兩捆乾草,其中每捆乾草最多只能被吃掉一次)。 給定乙個列表表示每捆乾草的重量s_i  (1  < =  s_i  < =  h),  求bessie不超過節食的限制的前提下可以吃掉多少乾草(注意一旦她開始吃一捆乾草就會把那一捆乾草全部吃完)。

輸入格式:

*  第一行:  兩個由空格隔開的整數:  h  和  n *  第2到第n+1行:  第i+1行是乙個單獨的整數,表示第i捆乾草的重量s_i。

輸出格式:

*  第一行:  乙個單獨的整數表示bessie在限制範圍內最多可以吃多少公斤的乾草。

樣例輸入

56 4

1519

2021

樣例輸出

56
#include#includeusing namespace std;

#define n 50000

int dp[n];

int main()

計蒜客 節食的限制(01揹包)

bessie像她的諸多姊妹一樣,因為從farmer john的草地吃了太多美味的草而長出了太多的贅肉。所以fj將她置於乙個及其嚴格的節食計畫之中。她每天不能吃多過h 5 h 45,000 公斤的乾草。bessie只能吃一整捆乾草 當她開始吃一捆乾草的之後就再也停不下來了。她有乙個完整的n 1 n 5...

計蒜客 箱子剩餘空間 (01揹包)

有乙個箱子容量為v 正整數,o v 20000 同時有n個物品 o n 30 每個物品有乙個體積 正整數 要求從 n 個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 第一行,乙個整數,表示箱子容量 第二行,乙個整數,表示有n個物品 接下來n行,分別表示這n個物品的各自體積。輸出格式 ...

計蒜客 箱子剩餘空間(01揹包)

有乙個箱子容量為v 正整數,o v 20000 同時有n個物品 o n 30 每個物品有乙個體積 正整數 要求從 n 個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 第一行,乙個整數,表示箱子容量 第二行,乙個整數,表示有n個物品 接下來n行,分別表示這n個物品的各自體積。輸出格式 ...