買鉛筆 演算法競賽

2021-10-02 18:24:44 字數 1357 閱讀 9614

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

題目描述

p老師需要去商店買n支鉛筆作為小朋友們參加noip的禮物。她發現商店一共有 3 種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,**也有可能不同。為了公平起見,p老師決定只買同一種包裝的鉛筆。

商店不允許將鉛筆的包裝拆開,因此p老師可能需要購買超過 n 支鉛筆才夠給小朋友們發禮物。

現在p老師想知道,在商店每種包裝的數量都足夠的情況下,要買夠至少 n 支鉛筆最少需要花費多少錢。

輸入描述:

第一行包含乙個正整數 n ,表示需要的鉛筆數量。

接下來三行,每行用 2 個正整數描述一種包裝的鉛筆:其中第 1 個整數表示這種 包裝內鉛筆的數量,第 2 個整數表示這種包裝的**。

保證所有的 7 個數都是不超過 10000 的正整數。

輸出描述:

1 個整數,表示p老師最少需要花費的錢。

示例1

輸入

572 2

50 30

30 27

輸出

54說明

p老師需要購買至少 57 支鉛筆。

如果她選擇購買第一種包裝,那麼她需要購買 29 份,共計 2 x 29 = 58 支,需要花 費的錢為 2 x 29 = 58 。

實際上,p老師會選擇購買第三種包裝,這樣需要買 2 份。雖然最後買到的鉛筆數量更多了,為 30 x 2 = 60 支,但花費卻減少為 27 x 2 = 54 ,比第一種少。

對於第二種包裝,雖然每支鉛筆的**是最低的,但要夠發必須買 2 份,實際的花費達到了 30 x 2 = 60 ,因此p老師也不會選擇。

所以最後輸出的答案是 54 。

示例2

輸入

9998

128 233

128 2333

128 666

輸出

18407

示例3

輸入

9999

101 1111

1 9999

1111 9999

輸出

89991

分析:分別計算三種鉛筆需要最少花多少錢,去最小值即可

c語言**如下:

#include

intmain()

最便宜買鉛筆方案

題目描述 p老師需要去商店買n支鉛筆作為小朋友們參加noip的禮物。她發現商店一共有 33種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,也有可能不同。為了公平起 見,p老師決定只買同一種包裝的鉛筆。商店不允許將鉛筆的包裝拆開,因此p老師可能需要購買超過nn支鉛筆才夠給小朋 友們發禮物。現在p老師想知...

牛客16437 買鉛筆

題目描述 p老師需要去商店買n支鉛筆作為小朋友們參加noip的禮物。她發現商店一共有 3 種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,也有可能不同。為了公平起見,p老師決定只買同一種包裝的鉛筆。商店不允許將鉛筆的包裝拆開,因此p老師可能需要購買超過 n 支鉛筆才夠給小朋友們發禮物。現在p老師想知道...

刷題路 買鉛筆

p老師需要去商店買n支鉛筆作為小朋友們參加noip的禮物。她發現商店一共有 3種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,也有可能不同。為了公平起見,p老師決定只買同一種包裝的鉛筆。商店不允許將鉛筆的包裝拆開,因此p老師可能需要購買超過n支鉛筆才夠給小朋 友們發禮物。現在p老師想知道,在商店每種包...