返回题目问答
讨论 / 题目问答/ 帖子详情

为什么我这个代码在蓝桥那能通过,在这通过不了

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n, m;
ll a[300010], diff[300010], sum[300010], lt[300010], rt[300010];

int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> n >> m;
	ll count = 0;
	for (int i = 1; i <= m; ++i) {
		cin >> lt[i] >> rt[i];
		diff[lt[i]] += 1;
		diff[rt[i]+1] -= 1;
	}
	for (int i = 1; i <= n; ++i) {
		a[i] = a[i-1] + diff[i];
		sum[i] = a[i] == 1 ? sum[i-1] + 1 : sum[i-1];
 		if (a[i] == 0) count++;
	}
	for (int i = 1; i <= m; ++i) {
		cout << count + sum[rt[i]] - sum[lt[i]-1] << '\n';
	}
	return 0;
}
1 回复 0 转发 0 喜欢 21 阅读
回复 (1)
默认 最新
l222 2025/3/19
在这能通过的,在蓝桥也过不了
0