#include <cstring>
#include <algorithm>
#include <iostream>
#include <queue> using namespace std; typedef long long LL;
const int maxn = 1e5+;
int T,N,cnt;
LL M; struct node{
LL money,time;
node(){}
node(LL a,LL b){money=a;time=b;}
bool operator < (const node &b) const
{return time > b.time;}
}; struct item
{
LL V,R,time;
item(){}
item(LL a,LL b,LL c){V = a;R = b;time = c;}
bool operator < (const item &b) const
{return R < b.R;}
}items[maxn]; LL bfs()
{
priority_queue<node> pq;
node st(,),cur;
pq.push(st);
int i,x=;
while(!pq.empty())
{
cur = pq.top();pq.pop();
if(cur.money >= M) return cur.time;
for(i=x;i<=cnt;i++)
{
if(cur.money < items[i].R) break;
if(cur.money>=items[i].R&&cur.money<items[i].V)
{
pq.push(node(items[i].V,cur.time+items[i].time));
}
}
x = i;
}
return -;
} int main()
{
cin >> T;
for(int cas=;cas<=T;cas++)
{
cin >> N >> M;
LL v,r,t;
cnt=;
for(int i=;i<N;i++)
{
cin >> v >> r >> t;
if(v==r) continue;
items[cnt++] = item(v,r,t);
}
sort(items+,items+cnt+);
cout << "Case #"<<cas<<": "<<bfs()<<endl;
}
}

最新文章

  1. Autodesk View and Data API二次开发学习指南
  2. MongoDB学习笔记—Linux下搭建MongoDB环境
  3. Cannot send session cache limiter Cannot modify header information
  4. XE8 (RTM) Android SDK 更新安装(转)
  5. MySQL客户端工具 SQLyog
  6. Django admin 显示图片
  7. MAC地址,使用java获取IP地址和MAC地址。
  8. Java笔记1-Java相关概念和如何实现跨平台
  9. iBeacon知识1
  10. BackgroundWorker组件学习
  11. SqlServer中输出错误消息
  12. mysql 存储过程项目小结
  13. Android开发手记(10) 下拉菜单Spinner
  14. Technology_Roadmap
  15. Node.js API
  16. file_get_contents无法请求https连接的解决方法
  17. Java 常量池存放的是什么
  18. 关于乱序(shuffle)与随机采样(sample)的一点探究
  19. 意外的php之学习笔记
  20. Android Tools 开发工具库开源项目总结

热门文章

  1. JVM总括三-字节码、字节码指令、JIT编译执行
  2. 常用的移动前端webapp交互细节
  3. 现代JavaScript函数库 usuallyjs 的安装和使用
  4. Pandas基础使用
  5. H5 video标签的属性
  6. linux中根据名称kill进程
  7. html总结:表格中的文字居中
  8. CopyOnWriteArrayList源码分析
  9. 百度地图支持https
  10. Linux 查找文件命令 find whereis locate