cf754D
题意:给你一个数m,有多少优惠券,给个n,主角想用多少优惠券。然后接下来时m行,每行两个数,那张优惠券的优惠区间a,b(在a号货物到b号货物之间的所有都可以优惠)
问你,能不能用k张优惠券,是他的优惠区间重叠的部分最大。
今天第一次看优先队列,居然还有这么神奇的东西,omg,太强了
思路就是排序,然后用优先队列乱搞一下。。。
接下来给出代码
#include <iostream>
#include <queue>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int Maxn = 2147483647;
struct Node{
int l,r;
int i;
}node[300010];
bool cmp( const Node &a,const Node &b ){
return ( a.l == b.l ? a.r < b.r:a.l < b.l );
}
int main(){
int m,n;
scanf("%d%d",&m,&n);
for( int i = 1; i <= m; i++ ){
scanf("%d%d",&node[i].l,&node[i].r);
node[i].i = i;
}
sort( node+1,node+1+m,cmp );
priority_queue<int,vector<int>,greater<int> > q;
int inf = -Maxn;
int x;
int l,r;
for( int i = 1; i <= m; i++ ){
x = node[i].l;
q.push( node[i].r );
while( q.top() < x || q.size() > n ){
q.pop();
}
if( q.size() == n ){
if( inf < q.top() - x + 1 ){
inf = q.top() - x + 1;
l = x,r = q.top();
}
}
}
if( inf == - Maxn ){
cout << '0' << endl;
for( int i = 1; i <= n; i++ ){
printf( "%d ",i );
}
printf( "\n" );
exit(0);
}else{
cout << inf << endl;
for( int i = 1; i <= m; i++ ){
if( node[i].l <= l && node[i].r >= r ){
printf("%d ",node[i].i);
n--;
if( n == 0 ){
cout << '\n';
exit(0);
}
}
}
}
}
cf754D的更多相关文章
随机推荐
- C++相关资源
http://www.cnblogs.com/xi52qian/p/4186983.html语言ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee ...
- LOL(英雄联盟)系统鼠标速度锁定工具
最近习惯将系统的鼠标速度降低, 而提高鼠标硬件DPI来提升移动准确度, 但是LOL的客户端每次启动进入游戏后就会还原系统鼠标的移动速度, 我把情况反应给腾讯,没想到他们一点都不重视, 建议我只改游戏里 ...
- 记录一下学习VC的初步过程.
有需要把状态栏图标缓存清空. 找到DELPHI和E语言的例子.最近学VC所以要改成VC的. 做控件的时候发现函数不能直接控制控件.在网上找了半天相关资料,都是说要包含"resource.h& ...
- Python 集合(set)使用
1.python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差 ...
- sitecustomize.py 用法
1.在python安装目录下的lib下的site-packages 目录中,新建文件sitecustomize.py.这是个特殊的文件,在python启动时会自动执行其中的语句.在sitecustom ...
- leetcode其余题目
1.Largest Rectangle in Histogram http://discuss.leetcode.com/questions/259/largest-rectangle-in-hist ...
- PADS故障解决
1. 点击PADS后就会出现以下: "The directory pointed by the FileDir INI file entry cannot be found.Aborting ...
- IE filter & z-index bug
对最近遇到的2个问题的一点总结. 1.IE filter & z-index 重构后的首页即将上线,测试提出fix导航条扩展菜单在ie789滚动后一段无法显示的问题. 疑云重重: 这个问题一开 ...
- 10 个 jQuery 的无限滚动的插件:
很多社交网站都使用了一些新技术来提高用户体验,而无限滚动的翻页技术就是其中一项,当你页面滑到列表底部时候无需点击就自动加载更多的内容. 下面为你推荐 10 个 jQuery 的无限滚动的插件: 1. ...
- 深入解析java虚拟机-jvm运行机制
转自oschina 一:JVM基础概念 JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现.编译虚拟机的指令集与编译微处理器的指令集非常类似.Java虚拟机包括一套字 ...