milk解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
  我是牛奶制造商,我一天需要N加仑的牛奶,总共有M个农民可以供给我。
  这M个农民的信息共M行,第i个农民有num[i]加仑牛奶,每加仑价格为price[i]。
  求我买够牛奶所需的最少钱数。
  数据保证,农民生产的牛奶总数一定是够的。
【数据范围】
  0<=N<=2,000,000
  0<=M<=5,000
  0<=price[i]<=1,000
  0<=num[i]<=2,000,000
【输入样例】
  100 5
  5 20
  9 40
  3 10
  8 80
  6 30
【输出样例】
  630
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
  排序一下,贪心即可。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
  一遍AC。
  顺带复习了下类的运算符号重载。

------------------------------------------------------------------------------------------------------------------------------------------------

【代码】

 /*
ID: icedrea1
PROB: milk
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; const int maxn = ;
const int maxm = ; struct Farmer
{
int price;
int num;
friend bool operator<(Farmer const &x,Farmer const &y) { return x.price<y.price; }
}; int N,M;
Farmer F[+maxm]; void qsort(int l,int r)
{
if(l>=r) return;
int i=l,j=r;
Farmer x=F[(l+r)>>];
while(true)
{
while(F[i]<x) ++i;
while(x<F[j]) --j;
if(i>j) break;
swap(F[i],F[j]);
++i; --j;
}
qsort(l,j); qsort(i,r);
} int main()
{
ifstream in("milk.in");
ofstream out("milk.out"); in>>N>>M;
for(int i=;i<=M;++i) in>>F[i].price>>F[i].num; qsort(,M); int cost=;
for(int i=;N && i<=M;++i)
{
int num=min(N,F[i].num);
N-=num; cost+=F[i].price*num;
}
out<<cost<<endl; in.close();
out.close();
return ;
}

USACO Section1.3 Mixing Milk 解题报告的更多相关文章

  1. USACO Section1.5 Prime Palindromes 解题报告

    pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section1.5 Superprime Rib 解题报告

    sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  3. USACO Section1.5 Number Triangles 解题报告

    numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  4. USACO Section1.4 Arithmetic Progressions 解题报告

    ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  5. USACO Section1.3 Combination Lock 解题报告

    combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  6. USACO Section1.3 Prime Cryptarithm 解题报告

    crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  7. USACO Section1.3 Barn Repair 解题报告

    barn1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  8. USACO Section1.2 Palindromic Squares 解题报告

    palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...

  9. USACO Section1.2 Dual Palindromes 解题报告

    dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

随机推荐

  1. April 28 2017 Week 17 Friday

    The only thing more painful than learning from experience is not learning from experience. 比从经验中学习更为 ...

  2. css3弹性盒子

    CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...

  3. 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)

    安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...

  4. EF 连接 mysq l数据库 code first模式 的实践

    准备工作: 1.下载vs2015 2.下载mysql2017 3.安装 开始: 1.创建 控制台文件 2.添加引用 Mysql.Data , Mysql.Data.Entity.EF6,Mysql.w ...

  5. IOError: [Errno 22] invalid mode ('rb') or filename: 'C

    dataset = scipy.io.loadmat('F:\test_data.mat') 报错 IOError: [Errno ] invalid mode ('rb') or filename: ...

  6. 整合ssm集成框架

    第一步:配置pom.xml 该代码放在<dependencies>里面 <!--spring 所需要的jar包 web.aop.jdbc.webmvc--> <!--1. ...

  7. web的监听器,你需要知道这些...

    一.简介 Listener是Servlet规范的另一个高级特性,它用于监听java web程序的事件,例如创建.修改.删除session,request,context等,并触发相应的处理事件,这个处 ...

  8. CSS3一些特殊属性

    (一)-webkit-tap-highlight-color         这个属性只用于iOS (iPhone和iPad).当你点击一个链接或者通过Javascript定义的可点击元素的时候,它就 ...

  9. WIN10使用安装包安装Mysql5.6+JDBC

    很多教程教的是安装绿色版mysql或者是安装zip版的mysql,没什么不好,各有千秋,今天要教大家的是使用mysql-installer-community-5.6.43.0.msi安装mysql5 ...

  10. Servlet学习笔记04——什么是重定向,servlet生命周期?

    1.重定向 (1)什么是重定向? 服务器通知浏览器访问一个新的地址. 注: 服务器可以通过发送一个302状态码及一个 Location消息头(该消息头的值是一个地址,一般 称之为重定向地址)给浏览器, ...