51Nod 1091 线段的重叠 贪心

来源:互联网 发布:dev.mysql.com 编辑:程序博客网 时间:2024/05/22 15:02

注意减枝

#include<iostream>  #include<cstdio>  #include<cstring>  #include<cmath>  #include<algorithm>  #include<queue>  #include<stack>  using namespace std;typedef struct node{int x,y;}node; bool cmp(node n1,node n2){return n1.x<n2.x;}int main(){node no[50000+10];int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d",&no[i].x,&no[i].y);}sort(no,no+n,cmp);int maxn=0;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(no[j].x>no[i].y) break;if(no[j].y<=no[i].y){if(no[j].y-no[j].x>maxn) maxn=no[j].y-no[j].x;}else{if(no[i].y-no[j].x>maxn) maxn=no[i].y-no[j].x;break;}}}cout<<maxn;    return 0;  }