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. CSS:响应式下的折叠菜单(条纹式)

    原文:CSS: Responsive Navigation Menu 译文:CSS:响应式导航菜单 译者:dwqs 写在之前,关于如何制作响应式的下拉菜单:响应式下的下拉菜单 之前,我写了一篇关于怎么 ...

  2. c#按钮如何避免重复点击后报错

    前言:感谢51·halcon的绝地武士大佬啊,虽然你不认识我,但是我从你那学到了很多知识,真的感谢您对知识的无私传播哈哈(两天一个博客有在坚持的,都是草稿,等这个实习阶段过去了再回来整理博客~) bt ...

  3. Miller rabin

    蛤蛤,终于基本上搞懂了 #include<iostream> #include<cstdio> using namespace std; long long num[10]={ ...

  4. An error occurred at line: 1 in the generated java file问题处理

    tomcat6启动后,加载jsp页面报错,提示无法将jsp编译为class文件,主要报错信息如下: An error occurred at line: 1 in the generated java ...

  5. C# for语句

    一.C# for语句 for语句是C#语言中使用频率最高的循环语句. 1. for语句 语法格式如下: for(initializer; condition; iterator){    embedd ...

  6. SpringBoot学习14:springboot异常处理方式4(使用SimpleMappingExceptionResolver处理异常)

    修改异常处理方法3中的全局异常处理Controller即可 package bjsxt.exception; import org.springframework.context.annotation ...

  7. 在centos7云服务器上搭建Apache服务器并访问到你的网站

    使用X-shell ssh安全连接到云服务器 https://mail.qq.com/cgi-bin/mail_spam?action=check_link&url=https://www.n ...

  8. Latex 使用笔记,取消目录

    不使用标准模板(如ieee或者acm的模板)的前提下: \usepackage{hyperref} \hypersetup{bookmarks={false}} 或者 \usepackage[book ...

  9. ssm整合-图片上传功能(转)

    本文介绍 ssm (Spring+SpringMVC+Mybatis)实现上传功能. 以一个添加用户的案例介绍(主要是将上传文件). 一.需求介绍 我们要实现添加用户的时候上传图片(其实任何文件都可以 ...

  10. linux 基本命令笔记

    nohup [process]  & 后台挂起命令nohup 挂起& 后台运行 python3 manage.py runserver 0.0.0.0:8080 python -r 递 ...