37 混合牛奶

news/2025/2/24 17:36:47

37 混合牛奶

作者: xxx时间限制: 1S章节: 结构体

问题描述 :

牛奶包装是一个如此低利润的生意,所以尽可能低的控制初级产品(牛奶)的价格变得十分重要。请帮助快乐的牛奶制造者(Merry Milk Makers)以可能的最廉价的方式取得他们所需的牛奶。快乐的牛奶制造公司从一些农民那购买牛奶,每个农民卖给牛奶制造公司的价格不一定相同。而且,如一头母牛一天只能生产一定量的牛奶,农民每一天只有一定量的牛奶可以卖。每天,快乐的牛奶制造者从每个农民那购买一定量的牛奶,少于或等于农民所能提供的最大值。给出快乐牛奶制造者的每日的牛奶需求,连同每个农民的可提供的牛奶量和每加仑的价格,请计算快乐的牛奶制造者所要付出钱的最小值。注意: 每天农民生产的牛奶的总数对快乐的牛奶制造者来说足够的。

输入说明 :

第 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 一天能卖给快乐的牛奶制造者的牛奶数量。

输出说明 :

单独的一行包含单独的一个整数,表示快乐的牛奶制造者拿到所需的牛奶所要的最小费用

输入范例 :

100 5
5 20
9 40
3 10
8 80
6 30
输出范例 :

630

#include<stdio.h>
#include<memory.h>
struct milk{
	int price;
	int num;
};
int main(){
	int n,m,i,j,tempP,tempN,flag,residue,min;
	struct milk ms[5000];
	while(scanf("%d %d",&n,&m)!=EOF){
		memset(ms,0,sizeof(m+1));//初试化
		for(i=0;i<m;i++){
			scanf("%d %d",&ms[i].price,&ms[i].num);
		}
		//结构体按价格asc排序 这里我复习一下冒泡排序
		for(i=0;i<m-1;i++){
			flag=0;
			for(j=m-1;j>i;j--){
				if(ms[j-1].price>ms[j].price){
					flag=1;
					tempP=ms[j-1].price;
					tempN=ms[j-1].num;
					ms[j-1].price=ms[j].price;
					ms[j-1].num=ms[j].num;
					ms[j].price=tempP;
					ms[j].num=tempN;
				}
			}
			if(flag==0){
				break;
			}
		}
		min=0;
		residue=n;
		for(i=0;i<m;i++){
			if(residue<=ms[i].num){
				min+=residue*ms[i].price;
				break;	
			}else{	
				min+=ms[i].num*ms[i].price;
				residue-=ms[i].num;
			}
		}
		printf("%d\n",min);
	}
	return 0;
}

http://www.niftyadmin.cn/n/710476.html

相关文章

SqlBulkCopy块拷贝数据时,不履行触发器和束缚 解决办法

在new SqlBulkCopy时,设置SqlBulkCopyOptions属性即可 SqlBulkCopy bulkCopy new SqlBulkCopy(ConStr,SqlBulkCopyOptions.FireTriggers); 注意:函数重载问题:SqlBulkCopy一个参数时,第一个参数是sqlconnection,两个参数时第一个参数是sqlconnectionString. SqlBulkCopyOption…

39 奇妙的数字

39 奇妙的数字 作者: Hu Yongjian时间限制: 1S章节: 一维数组 问题描述 : 有一种自然数&#xff0c;它的各位数字之和能被17整除。这个数的后继数&#xff08;即这个数加1&#xff09;的各位数字之和也能被17整除。求所有自然数中&#xff0c;从小到大第n个这样的数。 输入…

阿里云千岛湖数据中心启用:自然城市与人文科技的完美结合

9月8日&#xff0c;阿里云位于浙江千岛湖的数据中心正式启用&#xff0c;因地制宜采用湖水制冷。深层湖水通过完全密闭的管道流经数据中心&#xff0c;帮助服务器降温&#xff0c;再流经2.5公里的青溪新城中轴溪&#xff0c;作为城市景观呈现&#xff0c;自然冷却后最终洁净地回…

40 按要求输出序列

40 按要求输出序列 作者: 孙辞海 时间限制: 10S章节: 一维数组 问题描述 : 明明的爸爸是一位著名的数学家。他在明明很小的时候就发现明明有过人的数学天赋&#xff0c;因此有意培养他对数学的兴趣。一次&#xff0c;明明的爸爸为了培养明明对数字的敏感&#xff0c;和明明玩…

Android4.2项目目录结构

初始Android项目文件结构 刚接触Android项目&#xff0c;复杂的目录结构让人抓狂&#xff0c;这里以HelloWorld项目为例对目录结构进行详解。Android4.2为例 1&#xff1a;src JAVA源代码都放在这里面。新建一个简单的HelloWorld项目&#xff0c;系统为我们生成了一个HelloWorl…

32 三艘船

32 三艘船 作者: 朱星垠 时间限制: 10S章节: 一维数组 问题描述 : 明明由于工作的关系&#xff0c;经常需要坐船到某地出差办事。久而久之&#xff0c;明明就对这两地之间船的班次情况相当了解&#xff0c;他会根据办事的具体情况选择不同班次的船出行。这两地的船一共分为三…

FTL 语法

2019独角兽企业重金招聘Python工程师标准>>> 判断对象是否存在&#xff0c;若成立说明存在 <#if blockObjList ??></#if> <#if blockObjList ??> <#else> </#if> 判断知否和某一个值相等(先判断是否存在&#xff0c;在判断相…

41 部落人乘法

41 部落人乘法 作者: 朱星垠 时间限制: 10S章节: 一维数组 问题描述 : 明明热爱数学&#xff0c;他的爸爸也有意培养明明对数学的兴趣。 一次&#xff0c;为了拓展明明的知识面&#xff0c;爸爸给明明讲了一个原始部落人计算乘法的方法&#xff1a; 据说原始部落人以小石子…