题目描述
大家发现了不远处有q只工蚁在修补被雨水破坏的蚁穴,蚁穴破损的部分可以从1到n编号,第i只工蚁负责修复编号Li到Ri的部分,请你把横线处修改为正确的代码,输出表示只被覆盖到一次的点数的前缀和数组吧。
#include <iostream>
using namespace std;
int n, q;
int d[10005], cnt[10005], c1[10005];
int L[5005], R[5005];
int main()
{
cin >> n >> q;
for (int i = 1; i <= q; i++)
{
cin >> L[i] >> R[i];
d[L[i]]++;
d[R[i]+1]--;
}
for (int i = 1; i <= n; i++)
{
cnt[i] =cnt[i-1]+d[i];
if (cnt[i] == 1)
——————————
else
——————————
cout << c1[i] << " ";
}
return 0;
}
输入
第一行两个整数n和q。(1≤n≤10000,1≤q≤5000)
接下来q行,每行两个整数,第i+1行的两个整数分别表示Li和Ri。
输出
n-1个空格隔开的整数,表示只被覆盖到一次的点数的前缀和数组。
样例输入
3 2
1 2
2 3
样例输出
1 1 2