小明传奇1
2014-02-10 15:37
155 查看
题目描述
小明有一家自己的商店,主营牛奶饮品,最近资金紧张,他想以尽可能低的价格进购足够的牛奶以供日常的需要。但是小明年纪大了,脑子不好使了,想要求助你帮他想出一个最好的节省资金办法。两个整数N and M.
第一个数, N, (0 <= N <= 2,000,000) 小明每天的牛奶需求量. 第二个数, M, (0 <= M <= 5,000) 小明可以购买的农场数.
每组的第二行到m+1行:<span class="\"Apple-tab-span\"" white-space:="" pre'"=""> 每行 Pi and Ai.
Pi (0 <= Pi <= 1,000)农场I的牛奶单价.
Ai (0 <= Ai <= 2,000,000)农场i的最大供应量.
输出
输出可以满足小明的需求的最低的价格示例输入
100 5 5 20 9 40 3 10 8 80 6 30
示例输出
630
#include<stdio.h> #include<string.h> int main() { int M,N,i,j,a[60000],b[60000],t,s,m,e; while(scanf("%d %d",&M,&N)!=EOF) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(i=0; i<N; i++) scanf("%d %d",&a[i],&b[i]); for(i=0; i<N-1; i++) for(j=i+1; j<N; j++) if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; t=b[i]; b[i]=b[j]; b[j]=t; } s=0;m=0; for(i=0;i<N;i++) if(s<M) {s+=b[i];m+=b[i]*a[i];e=i;} m=m-a[e]*(s-M); printf("%d\n",m); } return 0; }
</pre>
相关文章推荐
- 小明传奇
- 小明传奇1
- SDUT 2766 小明传奇2
- 面向对象的哲学。举例:小明被撞了,智商一百早上好。智商不好,乱说
- 大数据IMF传奇行动绝密课程第83课:透彻讲解使用Scala和Java两种方式实战Spark Streaming开发
- 大数据IMF传奇行动绝密课程第87课:Flume推送数据到Spark Streaming案例实战和内幕源码解密
- HDU2096 小明A+B【水题】
- NYOJ--19--next_permutation()--擅长排列的小明
- 1122 小明的调查作业
- COGS 2687 讨厌整除的小明
- 传奇名将孔蒂接掌尤文图斯 再续前缘
- csu 1949 小明的烦恼 并查集+权值线段树
- 小明买书
- nyoj-19-擅长排列的小明
- 小明の魔法计划(最长倍数子序列)
- NYOJ 19 擅长排列的小明
- COJ1976-搬运工小明
- 我的天呐,小明竟然被程序猿哥哥追着打
- 0-1背包之小明和丁丁的奇遇
- Anders Hejlsberg 技术理想架构开发传奇