考点:差分
大意:在一个长区间内取走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;
}

京公网安备 11010502036488号