0pts求调
查看原帖
0pts求调
1049461
封禁用户楼主2024/8/24 11:33
#include <bits/stdc++.h>
using namespace std;
const int N = 300010;
int n, m;
typedef pair<int, int> p;
p ts[N];
int bs[N], pre[N], ret = 0;
int main()
{
	cin >> n >> m;
	for(int i = 0; i < m; i++)
	{
		cin >> ts[i].first >> ts[i].second;
		bs[ts[i].first]++;
		bs[ts[i].second+1]--;
	}
	for(int i = 0; i < n; i++)
	{
		bs[i] += bs[i - 1];
		ret += (bs[i] == 0);
	}
	for(int i = 0; i < n; i++)
		pre[i] += pre[i - 1] + (bs[i] == 1);
	for(int i = 1; i <= m; i++)
	{
		int l = ts[i].first, r = ts[i].second;
		cout << pre[r] - pre[l - 1] + ret << endl;
	}
	return 0;
}
2024/8/24 11:33
加载中...