#include <iostream> #include <vector> using namespace std; int main() { int L, M, start, end, count; // 用标志数组表示有树无树 vector<int> interval; vector<int>::iterator it; while (cin >> L >> M) { // 多轮一定要记得清空必要的上一轮数据 count = 0; interval.clear(); // 动态数组填充值 while (L >= 0) { interval.push_back(1); // 1 表示有树 0 表示无树 L--; } for (int i = 0; i < M; i++) { cin >> start >> end; for (int j = start; j <= end; j++) { if (interval[j] != 0) { interval[j] = 0; } } } for (it = interval.begin(); it != interval.end();it++) { if (*it == 1) { count++; } } cout << count << endl; } return 0; }