//
// Created by alleyf on 2023/6/24.
//
#include<bits/stdc++.h>
using namespace std;
const int MAXL = 100001;
int main() {
bool flag[MAXL];
int l, m, num;
cin >> l >> m;
num = l + 1;
for (int i = 0; i <= l; ++i) {
flag[i] = true;
};
while (m--) {
int left, right;
cin >> left >> right;
for (int i = left; i <= right; ++i) {
if (flag[i]) {
flag[i] = false;
num--;
}
}
}
cout << num;
}
- 使用一个l+1长度的array存储所有树的存在状态,初始化所有树的状态为真;
- 根据区间循环判每棵树的状态,若为真则修改树输出总数的状态为假并将树的总数自减;
- 输出剩余树的数量。

京公网安备 11010502036488号