离散化+前缀和.
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e8+5;
int l[maxn] = {0};
int main(int argc, char const *argv[])
{
std::ios::sync_with_stdio(false);
l[0] = 1;
int len, m;
scanf("%d%d",&len,&m);
for (int i = 0; i < m; ++i)
{
int s, e;
scanf("%d%d",&s,&e);
l[s] = 1;
l[e+1] = -1;
}
int sum = 0;
int ans = 0;
for (int i = 0; i <= len; ++i)
{
sum += l[i];
if (sum == 1)
{
ans++;
}
}
cout << ans;
return 0;
}