422. 校门外的树

区间合并裸题

const int N=110;
PII a[N];
int n,m;

int main()
{
    cin>>n>>m;

    for(int i=0;i<m;i++) cin>>a[i].fi>>a[i].se;

    sort(a,a+m);

    int l=a[0].fi,r=a[0].se;
    int res=0;
    for(int i=1;i<m;i++)
    {
        if(a[i].fi > r)
        {
            res+=r-l+1;
            l=a[i].fi,r=a[i].se;
        }
        else r=max(r,a[i].se);
    }
    res+=r-l+1;

    cout<<n+1-res<<endl;

    //system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/fxh0707/p/14295071.html