【Codeforces 808 B. Summer sell-off】
来源:互联网 发布:软件安全测试招聘 编辑:程序博客网 时间:2024/06/05 22:30
B. Summer sell-off
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Summer holidays! Someone is going on trips, someone is visiting grandparents, but someone is trying to get a part-time job. This summer Noora decided that she wants to earn some money, and took a job in a shop as an assistant.
Shop, where Noora is working, has a plan on the following n days. For each day sales manager knows exactly, that in i-th day ki products will be put up for sale and exactly li clients will come to the shop that day. Also, the manager is sure, that everyone, who comes to the shop, buys exactly one product or, if there aren’t any left, leaves the shop without buying anything. Moreover, due to the short shelf-life of the products, manager established the following rule: if some part of the products left on the shelves at the end of the day, that products aren’t kept on the next day and are sent to the dump.
For advertising purposes manager offered to start a sell-out in the shop. He asked Noora to choose any f days from n next for sell-outs. On each of f chosen days the number of products were put up for sale would be doubled. Thus, if on i-th day shop planned to put up for sale ki products and Noora has chosen this day for sell-out, shelves of the shop would keep 2·ki products. Consequently, there is an opportunity to sell two times more products on days of sell-out.
Noora’s task is to choose f days to maximize total number of sold products. She asks you to help her with such a difficult problem.
Input
The first line contains two integers n and f (1 ≤ n ≤ 105, 0 ≤ f ≤ n) denoting the number of days in shop’s plan and the number of days that Noora has to choose for sell-out.
Each line of the following n subsequent lines contains two integers ki, li (0 ≤ ki, li ≤ 109) denoting the number of products on the shelves of the shop on the i-th day and the number of clients that will come to the shop on i-th day.
Output
Print a single integer denoting the maximal number of products that shop can sell.
Examples
Input
4 2
2 1
3 5
2 3
1 5
Output
10
Input
4 1
0 2
0 3
3 5
0 6
Output
5
Note
In the first example we can choose days with numbers 2 and 4 for sell-out. In this case new numbers of products for sale would be equal to [2, 6, 2, 2] respectively. So on the first day shop will sell 1 product, on the second — 5, on the third — 2, on the fourth — 2. In total 1 + 5 + 2 + 2 = 10 product units.
In the second example it is possible to sell 5 products, if you choose third day for sell-out.
每天的商品数k,会卖出的商品数 l,可以选择 f 天rang商品数 k *= 2
1)每天卖出的商品数 = min(k,l);
2) o = min(l -= k,k),选择o 较大且大于0的 f 天翻倍
AC代码:
#include<cstdio>#include<algorithm>using namespace std;typedef long long LL;const int K = 1e5 + 10;struct node{ LL a,b,c;}st[K];bool cmp(node i,node j){ return i.c > j.c;}int main(){ int n,f; scanf("%d %d",&n,&f); LL ans = 0; for(int i = 1; i <= n; i++){ scanf("%lld %lld",&st[i].a,&st[i].b); int nl = st[i].b - st[i].a; if(nl < 0) ans += st[i].b,st[i].c = -1; else ans += st[i].a,st[i].c = min(st[i].a,st[i].b - st[i].a); } sort(st + 1,st + 1 + n,cmp); for(int i = 1; i <= f; i++) if(st[i].c > 0) ans += st[i].c; printf("%lld\n",ans); return 0;}
- 【Codeforces 808 B. Summer sell-off】
- Codeforces Round #415 B Summer sell-off
- Codeforces 810B Summer sell-off 题解
- Summer sell-off (Codeforces-810B)
- CodeForces 810B Summer sell-off 【贪心】【排序】
- Codeforces Round #415 (Div. 2) B. Summer sell-off
- Codeforces Round #415 (Div. 2) B. Summer sell-off
- CodeForces #415(div2) Summer sell-off(贪心)
- CodeFroces 810B Summer sell-off
- Codeforces Round #415 (Div. 2)B. Summer sell-off (水题)
- CodeForces 810B——Summer sell-off ——贪心
- cf Summer sell-off
- 平常水题 — Codeforces Round #415 (Div. 2) B. Summer sell-off (贪心 + 错误总结)
- ecjtu-summer training #1 B(CodeForces 651B)
- 股市抛售 sell-off
- Codeforces--808B
- codeforces 808B
- Codeforces 333E Summer Earnings
- 关于Windows系统可以ping通,而无法浏览网页的情况作出记录
- 目标检测之HOG特征
- 一分钟教你知道乐观锁和悲观锁的区别
- Python3 pandas read_csv 报错:IOError: Initializing from file failed
- Unable to resolve target 'android-10'
- 【Codeforces 808 B. Summer sell-off】
- PAT 1044.火星数字
- cut命令-简单使用
- 看门狗(二)
- Java代码设置字体点击效果
- Spring Cloud介绍 Part1: 使用事件和消息队列实现分布式事务
- java集合框架总结(List、Set、Map)
- 菜单配置
- avcodec_register()