1091 月餅銷售問題

2021-07-04 06:34:58 字數 1184 閱讀 2358

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 0  

解決: 0 [

提交][

狀態][

討論版]

月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。

注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們有3種月餅,其庫存量分別為18、15、10萬噸,總售價分別為75、72、 45億元。如果市場的最大需求量只有20萬噸,那麼我們最大收益策略應該是賣出全部15萬噸第2種月餅、以及5萬噸第3種月餅,獲得 72 + 45/2 = 94.5(億元)。

每個輸入包含1個測試用例。每個測試用例先給出乙個不超過1000的正整數n表示月餅的種類數、以及不超過500(以萬噸為單位)的正整數d表示市場最大需求量。隨後一行給出n個正數表示每種月餅的庫存量(以萬噸為單位);最後一行給出n個正數表示每種月餅的總售價(以億元為單位)。數字間以空格分隔。

對每組測試用例,在一行中輸出最大收益,以億元為單位並精確到小數點後2位。

3 20

18 15 10

75 72 45

94.50

演算法就是比較每次剩餘需求量和月餅庫存量,先用單價最高的,用完了再用單價其次高的,直至填滿需求量或者月餅沒了(⊙v⊙)

#include #include #include using namespace std;

const int n = 1000;

class mooncake;

~mooncake(){};

double num, total, price;

};bool cmp(mooncake a, mooncake b)

int main()

for (i = 0; i < n; i++)

cin >> a[i].total;

for (i = 0; i < n; i++)

a[i].price = a[i].total / a[i].num;

sort(a, a + n, cmp);//根據單價高低排序 格式 sort(begin,end,cmp) cmp是自己編寫的函式,bool型,降序則為a>b,公升序則為a0 && j < n)

else

j++;

} cout << fixed<

PAT乙級1010 月餅

月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需 求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有3種月餅,其庫存量分別為18 15 10萬噸,總售價分別為75 72...

PAT 乙等 1020 月餅

月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有3種月餅,其庫存量分別為18 15 10萬噸,總售價分別為75 72 ...

1020 月餅 Python實現

月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有 3 種月餅,其庫存量分別為 18 15 10 萬噸,總售價分別為 7...