時間限制
100 ms
記憶體限制
65536 kb
**長度限制
8000 b
判題程式
standard
作者 chen, yue
月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。
注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們有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輸出樣例:94.5018 15 10
75 72 45
思路:
利用結構體排序,把平均**排序,然後順序處理。
注意:庫存量是正數,沒說是正整數。
參考:歡迎交流:
#include#include#includeusing namespace std;
const int maxn = 1100;
typedef struct shangpin
}s;s ha[maxn];
bool cmp2(s a, s b)//注意資料型別,而且要定義結構體裡的》符合
/*或者用下面的cmp函式替換上面的cmp2函式,而且不用定義結構體裡面的》符合,更簡單
bool cmp2(s a,s b)
*/int main()
for (int i = 0; i < n; i++)
for (int i = 0; i < n; i++)
sort(ha,ha+n,cmp2);
double money = 0.0;
int i = 0;
while (d)
else
if (++i > n)break;//不加這一句的話會提示「段錯誤」
} /*
或者用下面的for迴圈替代上面的while迴圈
for(int i=0;i=ha[i].kind)
else}*/
printf("%.2lf\n",money);
return 0;
}
PAT 乙級 1020 月餅 25
月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有3種月餅,其庫存量分別為18 15 10萬噸,總售價分別為75 72 ...
PAT (乙級)1020 月餅 25
月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有3種月餅,其庫存量分別為18 15 10萬噸,總售價分別為75 72 ...
PAT乙級 1020 月餅 25
題目 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有3種月餅,其庫存量分別為18 15 10萬噸,總售價分別為75 ...