题目描述

由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助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 5
5 20
9 40
3 10
8 80
6 30
输出样例#1:

630

水题,结构体排序一遍过。

 1 #include<bits/stdc++.h>
2 using namespace std;
3 struct node
4 {
5 int p;
6 int a;
7 }milk[5050];
8 int cmp(node x,node y)
9 {
10 return x.p<y.p;
11 }
12 int main()
13 {
14 int n,m;
15 cin>>n>>m;
16 for(int i=0;i<m;i++)
17 cin>>milk[i].p>>milk[i].a;
18 sort(milk,milk+m,cmp);
19 long long ans=0;
20 for(int i=0;i<m;i++)
21 {
22 if(n>milk[i].a)
23 {
24 ans+=milk[i].a*milk[i].p;
25 n-=milk[i].a;
26 }
27 else
28 {
29 ans+=n*milk[i].p;
30 break;
31 }
32 }
33 cout<<ans;
34 return 0;
35 }

最新文章

  1. ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览
  2. SpringMVC 文件上传
  3. 添加as源码
  4. Emit学习(2) - IL - 常用指令介绍
  5. Gerrit日常操作命令收集
  6. tomcat服务器不输出访问日志
  7. android 启动第三方程序的代码
  8. Android 四大组件之Acticity
  9. DevExpress XtraReports 入门五 创建交叉表报表
  10. angular指令系列---多行文本框自动高度
  11. 清华集训2015 V
  12. Python3-大魔王小项目-田忌赛马
  13. jieba库初级应用
  14. [记录] Vue中的dom操作
  15. POJ 3368
  16. Oracle logminer 日志挖掘
  17. 基于Fragment的插件化
  18. 用Rider写一个有IOC容器Autofac的.net core的程序
  19. 怎么在Eclipse上运行静态网页
  20. Hdu1054 Strategic Game(最小覆盖点集)

热门文章

  1. Linux命令(九)之安装mysql
  2. Tomcat进程意外退出的问题分析
  3. 【笔记】Stacking方法
  4. 数据结构与算法-排序(九)基数排序(Radix Sort)
  5. 迭代器 与 foreach 的区别
  6. yum 和 epel 的详解
  7. JDBC基础篇(MYSQL)——PreparedStatement执行DML、DQL等
  8. ProjectEuler 005题
  9. JavaWeb之分页查询
  10. asp获取当前页面url