#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main()
{
bool b[10000];
memset(b,1,sizeof(b));
int l,m,start,endr;
cin>>l>>m;
for(int i=0;i<m;i++){
cin>>start>>endr;
for(int j=start-1;j<endr;j++)
if(b[j])
b[j]=0;
}
int res=1;
for(int i=0;i<l;i++)
if(b[i])
res++;
cout<<max(res,0)<<endl;
return 0;
}
为什么第一个没过呢?其实我认为res=0开始计数是合理的,但实际上少了1,我改成res=1之后才过了题目,如何解释呢?谢谢大佬[鞠躬]