思路:

求交集最大老套路,排序之后用堆维护即可。

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
const int maxn = 1000010;
inline int read() {
int q=0,f=1;char ch = getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
}
struct lne {
int l,r,id;
bool operator < (lne x) const{
return r > x.r;
}
}l[maxn];
int ans;
int n,m;
priority_queue<lne> q;
bitset<maxn>vis,p;
int siz;
inline bool cmp(lne a,lne b) {
return (a.l == b.l) ? (a.r > b.r) : (a.l < b.l);
}
int main () {
freopen("failure.in","r",stdin);
freopen("failure.out","w",stdout);
read();
n = read(),m = read();
for(int i = 1;i <= n; ++i) {
l[i].l = read();
l[i].r = read();
l[i].id = i;
}
sort(l + 1,l + n + 1,cmp);
for(int i = 1;i <= m; ++i) {
q.push(l[i]);
++siz;
vis[l[i].id] = 1;
}
lne top = q.top();
ans = max(top.r - l[m].l,0);
p = vis;
for(int i = m + 1;i <= n; ++i) {
q.push(l[i]);
++siz;
vis[l[i].id] = 1;
if(siz > m) {
top = q.top();
vis[top.id] = 0;
q.pop();
siz--;
}
if(siz == m) {
top = q.top();
int len = max(top.r - l[i].l,0);
if(len >= ans) {
ans = len;
p = vis;
}
}
}
printf("%d\n",ans);
for(int i = 1;i <= n; ++i) {
if(p[i]) {
printf("%d ",i);
}
}
return 0;
}

最新文章

  1. hdu 4946 2014 Multi-University Training Contest 8
  2. 在Mac中像Windows一样查看Tomcat控制台信息
  3. Chrome 35个开发者工具的小技巧
  4. k-nearest-neighbor算法
  5. js里的匿名函数 数组排序
  6. 【T-SQL系列】临时表、表变量
  7. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数
  8. D - Constructing Roads - 2421
  9. .net 加密错误:填充无效,无法移除
  10. 对于windows窗口的标题菜单栏的操作——删除/禁用 最小最大话和关闭
  11. 微信超时5s,调用客服接口异步回复消息(PHP)
  12. ArcGIS Pro 简明教程(4)工具和模型构建器
  13. angular6、7 兼容ie9、10、11
  14. Hadoop记录-Hive调优:让任务并行执行
  15. 用java连接RabbitMQ
  16. C/C++指针参数赋值问题
  17. Android如何实现TCP和UDP传输
  18. 登录XML
  19. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里
  20. python web框架 Django 登录页面

热门文章

  1. Java中面向对象三大特性之继承
  2. leetcode-12双周赛-1244-力扣排行榜
  3. H5新属性 contenteditable
  4. python3 投票
  5. 基于Flink和规则引擎的实时风控解决方案
  6. PHP ftp_chdir() 函数
  7. 概率——17icpc西安
  8. 寻找cookie之旅
  9. phoenix 利用CsvBulkLoadTool 批量带入数据并自动创建索引
  10. C# WinfForm 控件之dev表格 GridControl