所有线段按起点从小到大排序,然后比较出最大的重叠部分。比如第i条线段和第j条线段进行比较找出重叠部分(j>i),当第j条线段的右端点<第i条线段的右端点,此时可以让i继续比较后面的线段;如果第j条线段的右端点>第i条线段的右端点,重叠部分并不会继续增大,所以需要让i+1条线段和后面的比较。

#include <bits/stdc++.h>
using namespace std;
const int N = ;
struct node
{
int l, r;
} q[N];
bool cmp(node a, node b)
{
if(a.l==b.l)
return a.r<b.r;
return a.l<b.l;
}
int main()
{
int n;
cin>>n;
for(int i=; i<n; i++)
{
scanf("%d%d", &q[i].l, &q[i].r);
}
sort(q, q+n, cmp);
int ans = -1e9;
for(int i=; i<n-; i++)
{
bool f = ;
for(int j=i+; j<n; j++)
{
int a = max(q[i].l, q[j].l);
int b = min(q[i].r, q[j].r);
ans = max(ans, b-a);
if(q[j].r>q[i].r) break;
}
}
printf("%d\n", ans);
return ;
}

最新文章

  1. 在OSX和Windows版本Docker上运行GUI程序
  2. CM添加kafka服务
  3. Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
  4. 工作随笔——pre-commit钩子限制日志长度和提交的文件类型
  5. JNI系列——C文件中的方法调用Java中方法
  6. oracle-2中commit 详解
  7. storm0.9.0.1安装
  8. 注意 sizeof 中不要有复杂运算操作
  9. Mybatis+SpringMVC的项目环境搭建
  10. Hdu 3177 Crixalis&#39;s Equipment
  11. 转载:修改xshell中文乱码的问题(管用)
  12. 201521123066 《Java程序设计》第十二周实验总结
  13. C++ DWORD 转byte char 数组、指针
  14. python:爬虫获取淘宝/天猫的商品信息
  15. Golang初练手-多线程网站路径爆破
  16. HDU 4859 海岸线(最小割+最大独立点权变形)
  17. hbase 无法打开60010网页
  18. 解决stackoverflow打开缓慢的问题
  19. 12、Redis的事务
  20. Python 文件 truncate() 方法

热门文章

  1. SPOJ - COT Count on a tree
  2. Android4.0 Surface机制分析
  3. Hadoop2.0环境搭建
  4. HDFS数据块
  5. ipythons 使用攻略
  6. 20145310 《Java程序设计》第8周学习总结
  7. Java使用BigDecimal解决精确计算的问题
  8. 学Git,用Git ③
  9. oracle update set select from 关联更新
  10. 1_jenkins环境搭建