博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心)
阅读量:7256 次
发布时间:2019-06-29

本文共 1240 字,大约阅读时间需要 4 分钟。

题目描述

由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助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 209 403 108 806 30
输出样例#1: 
630

说明

题目翻译来自NOCOW。

USACO Training Section 1.3

 

 

 

看了一下午的背包,本来想找点水题做做

结果没想到找到一个逗比贪心。

按照价钱排序,然后挨个选就行了e

#include
#include
#include
#define int long long using namespace std;const int MAXN=2000001;inline int read() { char c=getchar();int x=0,f=1; while(c<'0'||c>'9'){
if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x*f;}int f[MAXN];struct node { int num,val; bool operator < (const node &b) const { return val
=M) break; NowMoney+=a[i].val*a[i].num; NowNum+=a[i].num; } NowMoney+=(M-NowNum)*a[i].val; printf("%lld",NowMoney); return 0;}

 

转载地址:http://hrzdm.baihongyu.com/

你可能感兴趣的文章
2015秋季书籍阅读计划
查看>>
数据集---Zachary's karate club---等
查看>>
Django之Form组件
查看>>
jquery validate.js 不能验证
查看>>
html的异步调用
查看>>
请教Ado.Net按文本读取CSV/Txt文件时,如何禁止将内容转换成数字
查看>>
电子电路基础——电感、磁珠
查看>>
Django tutorial part2
查看>>
loj10098 分离的路径
查看>>
超级详细找CALL写CALL教程[转]
查看>>
蓝桥杯:基础练习 特殊的数字
查看>>
Cairngorm3中文简介
查看>>
数据结构练手05 关于堆的up策略和down策略实现
查看>>
python-排序算法 冒泡和快速排序
查看>>
JAVA jdbc(数据库连接池)学习笔记(转)
查看>>
c#调用webservices
查看>>
学习进度条
查看>>
CentOS 网络设置修改
查看>>
删除重复项,保留最大值
查看>>
项目开发中的一些注意事项以及技巧总结
查看>>