由於乳製品產業利潤很低,所以降低原材料(牛奶)**就變得十分重要。幫助marry乳業找到最優的牛奶採購方案。
marry乳業從一些奶農手中採購牛奶,並且每一位奶農為乳製品加工企業提供的**是不同的。此外,就像每頭奶牛每天只能擠出固定數量的奶,每位奶農每天能提供的牛奶數量是一定的。每天marry乳業可以從奶農手中採購到小於或者等於奶農最大產量的整數數量的牛奶。
給出marry乳業每天對牛奶的需求量,還有每位奶農提供的牛奶單價和產量。計算採購足夠數量的牛奶所需的最小花費。
注:每天所有奶農的總產量大於marry乳業的需求量。
輸入格式:
第 1 行共二個數值:n,(0<=n<=2,000,000)是需要牛奶的總數;m,(0<= m<=5,000)是提供牛奶的農民個數。
第 2 到 m+1 行:每行二個整數:pi 和 ai。
pi(0<= pi<=1,000) 是農民 i 的牛奶的單價。
ai(0 <= ai <= 2,000,000)是農民 i 一天能賣給marry的牛奶製造公司的牛奶數量。
輸出格式:
單獨的一行包含單獨的乙個整數,表示marry的牛奶製造公司拿到所需的牛奶所要的最小費用。
輸入樣例#1:
100 55 20
9 40
3 10
8 80
6 30
輸出樣例#1:
630
題目翻譯來自nocow。
usaco training section 1.3
題目思想: 非常容易想到,單價低的先選,所以,讀入然後按照單價排序,然後每次都把乙個農民的全部買下(買的下的情況),如果不需要買那麼多,就差多少補多少。
用來練習結構體排序的入門入門再入門!以後我這應該會有一篇結構體的文章叭!先用來填一下我空空如也的blog
**
1 #include 2 #include 3 #include 4 #include 5using
namespace
std;
6int
n, m, sum_s, sum_p;
7structe8
a[2000002
];11
bool
cmp(e a, e b)
1215 inline void
print()
22else 26}
27}28 inline int read()
36while (ch >= '
0' && ch <= '9'
) 40
return x *f;41}
42int
main()
4351 sort(a + 1, a + m + 1
, cmp);
52print();
53 printf("%d"
, sum_p);
54return0;
55 }
基礎思想理解,mofish
洛谷 P1031 均分紙牌 (貪心思想)
均分紙牌 題目鏈結 這道題是一道貪心問題 也有不用貪心方法寫的 解題思路 顯然我們要先求和,把牌堆的平均值求出。題目上說,每次只能向左右兩邊移動一次 第一堆,最後一堆除外 最少要多少次。我們不如從一組例項來講吧 上述十個數字,平均值為10.我們,這樣看 第乙個數字等於10,忽略。第二個數字小於10。...
貪心思想之區間貪心 關聯洛谷P1803
力扣上也有一道類似的題 幾乎是一樣 輸出不同 力扣leetcode 435.無重疊區間 n個比賽 開始時間,結束時間 問乙個人最多能參加幾個 不能同時參加兩個且必須有始有終 首先考慮最簡單的情況,如果區間l1被區間l2包含 圖a 那麼顯然選擇l1是最好的,也符合區域性貪心思想。然後把所有區間按左端點...
洛谷P1307 數字反轉 水題
給定乙個整數,請將該數各個位上數字反轉得到乙個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零 參見樣例2 輸入格式 乙個整數 nn 輸出格式 乙個整數,表示反轉後的新數。輸入樣例 1 複製 123輸出樣例 1 複製 321輸入樣例 2 複製 380輸...