其他分享
首页 > 其他分享> > 4.22 每日一题题解

4.22 每日一题题解

作者:互联网

小sun的假期

涉及知识点:

solution:

std:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxx = 100005;
struct node{
    int l,r;
}a[maxx];
bool cmp(node p1,node p2){
    if(p1.l == p2.l)
        return p1.r < p2.r;
    return p1.l < p2.l;
}
int main()
{
    int n,m,ans = 0;
    scanf("%d %d",&m,&n);
    for(int i=1;i<=n;i++){
        scanf("%d %d",&a[i].l,&a[i].r);
    }
    a[++n].l = 0,a[n].r = 0;
    a[++n].l = m+1,a[n].r = m+1;
    sort(a+1,a+1+n,cmp);
    for(int i=2,j=1;i<=n;i++)
    {
        if(a[i].l <= a[j].r)
            a[j].r = max(a[j].r,a[i].r);
        else{
            ans = max(ans,a[i].l - a[j].r -1);
            j = i;
        }
    }
    cout<<ans<<endl;
    return 0;
}

标签:p2,node,p1,int,题解,每日,假期,区间,4.22
来源: https://www.cnblogs.com/QFNU-ACM/p/12749650.html