博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[BZOJ3709][PA2014]Bohater[贪心]
阅读量:7123 次
发布时间:2019-06-28

本文共 810 字,大约阅读时间需要 2 分钟。

按照加减血量排序,杀完能加血的放在前面,但有个地方要注意,就是如果两个怪物杀死都能加血的话,要把减少血量少的放在前面

#include 
using namespace std;const int MAXN = 1e5+7;struct Data{ int x, y, ord; inline bool operator < (const Data & rhs) const { int a = y - x, b = rhs.y - rhs.x; if (a >= 0 && b >= 0) return x < rhs.x; if (a * b <= 0) return a >= 0; return y > rhs.y; }}b[MAXN];int n;long long m;int main(void) { scanf("%d%lld", &n, &m); for(int i = 1; i <= n; ++i) { scanf("%d%d", &b[i].x, &b[i].y); b[i].ord = i; } sort(b+1, b+1+n); for(int i = 1; i <= n; ++i) { m -= b[i].x; if (m <= 0) return puts("NIE"), 0; m += b[i].y; } puts("TAK"); for(int i = 1; i <= n; ++i) printf("%d ", b[i].ord); return 0;}

转载于:https://www.cnblogs.com/storz/p/10191519.html

你可能感兴趣的文章
Varnish缓存
查看>>
python magic method
查看>>
xml和对象的相互转化
查看>>
计算机启动过程
查看>>
关于改进工作效率
查看>>
list 去重
查看>>
thread-safe
查看>>
spring框架
查看>>
powerdesigner16链接mysql5
查看>>
sqoop 整库导入数据mysql->hive
查看>>
Docker+OpenvSwitch走进VxLAN的世界
查看>>
基于Debian的SteamOS 2.154稳定版发布
查看>>
loader学习小计
查看>>
Vue2.0 新手完全填坑攻略——从环境搭建到发布
查看>>
springboot2.0 常见问题找不到dao
查看>>
系统测试报告 模板
查看>>
gzip,bzip2,xz压缩工具
查看>>
移动互联网、物联网、大数据、人工智能加持的智能家居要如何改进安全?
查看>>
新的一年,新的精彩,2018你有啥计划?未完成别审核
查看>>
[交流乐园]开发者论坛一周精粹(第五十二期) 阿里云备案最全流程指导
查看>>