AcWing 422. 校门外的树
原题链接
简单
作者:
wjie
,
2021-01-16 17:49:18
,
所有人可见
,
阅读 311
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1e4 + 5;
struct Node{
int l, r;
bool operator < (const Node& a) const {
return l < a.l;
}
}nodes[N];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
for (int i = 0; i < m; ++i) scanf("%d%d", &nodes[i].l, &nodes[i].r);
sort(nodes, nodes+m);
int l = nodes[0].l, r = nodes[0].r;
for (int i = 1; i < m; ++i)
{
if (nodes[i].l > r)
{
n -= r - l + 1;
l = nodes[i].l, r = nodes[i].r;
}
else r = max(r, nodes[i].r);
}
n -= r - l + 1;
printf("%d", n+1);
return 0;
}