考点:差分
大意:在一个长区间内取走n和小区间,问取完后剩余的点数
代码:
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N = 10010; int n, a[N]; int main() { int t; scanf("%d%d", &n, &t); while(t--) { int l, r; scanf("%d%d",&l, &r); a[l] -= 1, a[r+1] += 1; } int ans = 0; for(int i = 0; i <= n; i++) //0到len都有数字,因此0和n都要取到 { a[i] += a[i-1]; if(a[i] >= 0) ans += 1; } printf("%d", ans); return 0; }