CODE[VS] 1621 混合牛奶 USACO
阿新 • • 發佈:2018-08-05
牛奶 mes () 整數 inpu rip break 等於 names
題目描述 Description
每天農民生產的牛奶的總數對快樂的牛奶制造者來說足夠的. 輸入描述 Input Description
牛奶包裝是一個如此低利潤的生意,所以盡可能低的控制初級產品(牛奶)的價格變的十分重要.
請幫助快樂的牛奶制造者(Merry Milk Makers)以可能的最廉價的方式取得他們所需的牛奶.
快樂的牛奶制造公司從一些農民那購買牛奶,每個農民賣給牛奶制造公司的價格不一定相同.
而且,如一只母牛一天只能生產一定量的牛奶,農民每一天只有一定量的牛奶可以賣.
每天,快樂的牛奶制造者從每個農民那購買一定量的牛奶,少於或等於農民所能提供的最大值.
給出快樂牛奶制造者的每日的牛奶需求,連同每個農民的可提供的牛奶量和每加侖的價格,請計算快樂的牛奶制造者所要付出錢的最小值.
註意:
每天農民生產的牛奶的總數對快樂的牛奶制造者來說足夠的. 輸入描述 Input Description
第 1 行:二個整數, N 和 M.
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 一天能賣給快樂的牛奶制造者的牛奶數量.
單獨的一行包含單獨的一個整數,表示快樂的牛奶制造者拿到所需的牛奶所要的最小費用
樣例輸入 Sample Input100 5
5 20
9 40
3 10
8 80
6 30
630
我真厲害,
hh。
基礎題,
按價格排序,
價格低者先購買。
代碼:
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5#include<cstring> 6 using namespace std; 7 8 int n,m; 9 long long ans,q; 10 11 struct node{ 12 int pr,cou; 13 }a[5002]; 14 15 bool cmp(node x,node y) 16 { 17 return x.pr <y.pr ; 18 } 19 20 int main() 21 { 22 scanf("%d%d",&n,&m); 23 for(int i=1;i<=m;++i) 24 scanf("%d%d",&a[i].pr ,&a[i].cou ); 25 sort(a+1,a+m+1,cmp); 26 for(int i=1;i<=m;++i) 27 { 28 if(n-q<=a[i].cou ) 29 { 30 ans+=a[i].pr *(n-q); 31 break; 32 } 33 if(q==n) break; 34 q+=a[i].cou ; 35 ans+=a[i].pr *a[i].cou ; 36 } 37 printf("%lld",ans); 38 return 0; 39 }
如果你不開心,那我就把右邊這個帥傻子分享給你吧,
你看,他這麽好看,那麽深情的望著你,你還傷心嗎?
真的!這照片盯上他五秒鐘就想笑了。
一切都會過去的。
CODE[VS] 1621 混合牛奶 USACO