計蒜客 手機零件採購(簡單揹包)

2021-08-10 22:24:13 字數 977 閱讀 1506

手機組裝是乙個非常難以獲得收益的行業,因此零件提供商的選擇就變得非常重要。請幫助法師康公司以盡可能最廉價的方式取得他們組裝桔子手機所需的零件。法師康公司從一些零件生產商那購買零件(假定不區分零件種類),每個零件生產商賣給法師康公司零件的**不一定相同。已知零件生產商可以賣給法師康公司的零件數就是有限的了,每天,法師康公司從每個零件生產商那購買一定量的零件,少於或等於該生產商所能提供的最大值。給出法師康公司的每日的零件需求量,連同每個零件生產商可提供的零件每件的**,請計算法師康公司所要付出錢的最小值。

注意:每天零件生產商的零件的總數對法師康公司來說是足夠的

輸入第1行包括兩個數值:法師康公司需要的零件的總數n(0≤n≤2000000)和零件生產商的數量m(0≤m≤5000)。

第2行至第m+1行中,每行包括兩個整數,分別表示乙個零件生產商提供的乙個零件的**x(0≤x≤1000)和零件生產商一天能提供的零件總量y(0≤y≤2000000)。

輸出包括一行,表示法師康公司得到生產所需零件需要的最小費用。

樣例輸入

100 5

5 20

9 40

3 10

8 80

6 30

樣例輸出

630

ac**:

#include#includeusing namespace std;

const int maxn = 5e3+10;

struct node home[maxn];

bool cmp(const node& n1,const node&n2 )

int main()

sort(home,home+m,cmp);

int totalprice = 0;

for(int i = 0; i < m; i++)else

} printf("%d\n",totalprice);

} return 0;

}

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

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

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

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

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

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