商人小鑫
来源:互联网 发布:ipad版淘宝没有微淘 编辑:程序博客网 时间:2024/05/07 15:41
商人小鑫
Time Limit: 1000MS Memory limit: 65536K
题目描述
小鑫是个商人,当然商人最希望的就是多赚钱,小鑫也一样。
这天,他来到了一个遥远的国度。那里有着n件商品,对于第i件商品需要付出ci的价钱才能得到。当然,对于第i件商品,小鑫在自己心中有一个估价pi:代表着当他买下这件商品后带回他的国家可以卖出的价格。小鑫只能带回m件商品,你能帮他计算一下他最多能赚多少钱么?
这天,他来到了一个遥远的国度。那里有着n件商品,对于第i件商品需要付出ci的价钱才能得到。当然,对于第i件商品,小鑫在自己心中有一个估价pi:代表着当他买下这件商品后带回他的国家可以卖出的价格。小鑫只能带回m件商品,你能帮他计算一下他最多能赚多少钱么?
输入
输入有多组,到文件结束。(注:数据有很多组,请用高效率算法)
对于每一组数据。第一行是n,m。m≤n≤10000000。
紧接着有n行,每一行有两个数 c ,p。第i行代表着ci,pi。ci≤pi
数据都在int范围内 。
输出
对于每组输入数据只输出一行一个数,代表小鑫能赚多少钱。
示例输入
4 21 21 32 23 4
示例输出
3
<pre name="code" class="cpp">#include <iostream>#include <cstdio>#include <cstring>using namespace std;struct node{ int ci, pi; int ja;} pp[10000010], temp;void Qsort(node a[], int low, int high);int main(){ int n, m; while(cin >> n >> m) { for(int i = 0; i < n; i++) { cin >> pp[i].ci >> pp[i].pi; pp[i].ja = pp[i].pi - pp[i].ci; } Qsort(pp, 0, n-1); int i = 0, num = 0; while(m--) { num += pp[i++].ja; } cout << num << endl; } return 0;}void Qsort(node a[], int low, int high){ int i = low, j = high; node key = a[i]; if(low >= high) return; while(i < j) { while(i < j && a[j].ja <= key.ja) j--; a[i] = a[j]; while(i < j && a[i].ja >= key.ja) i++; a[j] = a[i]; } a[i] = key; Qsort(a, low, i-1); Qsort(a, i+1, high);}
0 0
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 贪心:商人小鑫
- sdutacm-商人小鑫
- 商人小鑫(贪心)
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 商人小鑫
- 两个人走到一起
- JS实现全选、不选、反选
- Struts的Action中获取Request和response对象
- 嵌入式
- Hive表的数据载入方式
- 商人小鑫
- 大家好这里是只开坑不填坑的yanQval
- CSS选择器
- Futurice公司Android开发者总结的经验教训
- 学习 个人总结
- Git入门
- Installing Python3.4 and the SciPy stack on CentOS
- 正则表达式---简化字符串操作
- HDU 2196 Computer(树的直径)