|洛谷|堆|P3045 [USACO12FEB]牛券Cow Coupons
来源:互联网 发布:最难就业的专业 知乎 编辑:程序博客网 时间:2024/06/05 16:28
https://www.luogu.org/problem/show?pid=3045
把c作为关键字放入一个小根堆,在堆里买k个牛,然后再把这个小根堆里的牛放到另一个以p作为关键字的小根堆,买牛直到没钱
注意m要long long
#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n,k;long long m,ans = 0;struct cow{ int p,c;};struct cmp1{ bool operator()(cow a, cow b) { return a.c>b.c; }};struct cmp2{ bool operator()(cow a, cow b) { return a.p>b.p; }};priority_queue<cow, vector<cow>, cmp1> p1;priority_queue<cow, vector<cow>, cmp2> p2;int main(){ scanf("%d%d%lld", &n, &k ,&m); for (int i=1;i<=n;i++) { cow c; scanf("%d%d", &c.p, &c.c); p1.push(c); } while (k>0&&!p1.empty()) { if (m-p1.top().c>=0) { m -= p1.top().c; p1.pop(); ans++; k--; } else break; } while (!p1.empty()) {p2.push(p1.top()); p1.pop(); } while (!p2.empty()) { if (m-p2.top().p>=0) { m -= p2.top().p; p2.pop(); ans++; } else break; } printf("%lld\n", ans); system("pause"); return 0;}
0 0
- |洛谷|堆|P3045 [USACO12FEB]牛券Cow Coupons
- 【bzoj2590】【洛谷P3045】【USACO12FEB】牛券Cow Coupons
- 【bzoj2590】[Usaco2012 Feb]Cow Coupons
- [洛谷3047]USACO12FEB附近的牛
- [USACO12FEB]Nearby Cows solution 题解 [洛谷3047]
- Coupons
- 洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
- 树形dp-洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
- 洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
- 【洛谷3047】[USACO12FEB]附近的牛Nearby Cows
- [USACO12FEB]Nearby Cows
- UVA10288 Coupons
- ACM Coupons
- UVA10288 Coupons
- uva10288 Coupons
- poj2625 Coupons
- Coupons UVA
- cow
- 函数指针与指针函数
- 日志监控及Redis存储
- Android定制--------开机对话框的实现
- Git图形界面的使用
- RAD Studio D10发布IOS TestFlight不支持外部测试的解决方法
- |洛谷|堆|P3045 [USACO12FEB]牛券Cow Coupons
- 网络专业化销售流程
- STM32之启动模式
- 安卓高级 特效动画ExplosionField和 SmoothTransition
- 对权限的理解
- 经典排序算法
- 《CLR via C#》读书笔记-.NET多线程(二)
- 黑盒测试、白盒测试、灰盒测试之间区别
- VMware Workstation8.0虚拟机安装Ubuntu14.04