水一发优先队列的水题。。

这个题貌似以前有做过类似的。具体的方法是用大根堆辅助贪心算法得出正解。可以看出来,如果小Z走到了某个地方,那么他最远一定是到了这里,不可能有再走回来这种操作,因为很明显那样不是最优解。

然后我们基于刚才的考虑贪心,如果走的远近确定了,那么我们的选择一定是最小的那些店,维护一个大根堆,然后从小到大枚举位置,每枚举一次就入队一个数,如果当前的总和比疲劳值大了,就弹出队首元素。记得开longlong。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<iomanip>
#define re register
#define ll long long
using namespace std;
ll n,m,ans,maxx,sum;
struct market
{
ll x,t;
};
market a[];
priority_queue<int> q;
inline bool cmp(market x,market y)
{
return x.x<y.x;
}
int main()
{
cin>>n>>m;
for(re int i=;i<=n;i++) {cin>>a[i].x>>a[i].t;}
sort(a+,a+n+,cmp);
ll k=;
while(k<n)
{
k++;
if(a[k].x>=m)
break;
ll cnt=m-a[k].x;
sum+=a[k].t;
q.push(a[k].t);
maxx++;
while(sum>cnt)
{
sum-=q.top();
q.pop();
maxx--;
}
ans=max(maxx,ans);
}
cout<<ans;
}

最新文章

  1. python基础-软件目录结构规范
  2. iOS--UILable自适应大小
  3. 数据结构和算法 &ndash; 11.高级排序算法(上)
  4. Volley HTTP库系列教程(2)Volley.newRequestQueue示例,发请求的流程,取消请求
  5. MySQL information_schema表查询导致内存暴涨
  6. python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
  7. uploadify不能正确显示中文的按钮文本的解决办法
  8. Android开发(22)--seekBar采用handler消息处理操作
  9. 【Java数据结构学习笔记之二】Java数据结构与算法之栈(Stack)实现
  10. String类的一些常见的获取方法(5)
  11. CSS标签的加载
  12. Delphi Excel导入 的通用程序
  13. Python3基础-代码阅读系列—素数
  14. 我的第一个爬虫程序:利用Python抓取网页上的信息
  15. Python常用模块--string
  16. Python之获取微信好友信息
  17. mongodb shell和Node.js driver使用基础
  18. pdflush机制
  19. SpringBoot开发详解(六)-- 异常统一管理以及AOP的使用
  20. MVC $.Ajax()+Json实现数据库访问并显示数据

热门文章

  1. Laravel5.1 -控制器(初步了解)
  2. Codeforces Beta Round #25 (Div. 2)--A. IQ test
  3. 第一篇:尽量多的以 const/enum/inline 替代 #define
  4. jetty 通过配置文件嵌入式启动web服务
  5. 洛谷 P4109 [HEOI2015]定价
  6. Mysql在大型网站的应用架构演变(转)
  7. apply &amp; call
  8. nodejs的精简型和全栈型开发框架介绍
  9. redis3.2.11多机多实例集群部署及测试连接情况
  10. C++实现计算器功能(包括计算含未知量的式子),输出后缀表达式