前缀和和差分

#include<iostream>
using namespace std;
int solve()
{
    int L,M;
    cin>>L>>M;
    int ans=0;
    int* arr=new int[L+1];
    while(M--)
    {
        int x,y;
        cin>>x>>y;
        arr[x]+=1;
        arr[y+1]-=1;
    }
    for(int i=0;i<=L;i++)
    {
        if(i>0){
            arr[i]=arr[i-1]+arr[i];
        }
        if(!arr[i]) ans++;
    }
    return ans;
}

int main()
{
    cout<<solve()<<endl;
    return 0;
}