听灌佬多
  • 板块灌水区
  • 楼主ZeroPrince
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/18 17:02
  • 上次更新2024/7/18 17:58:36
查看原帖
听灌佬多
852876
ZeroPrince楼主2024/7/18 17:02
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
struct sec
{
	int l, r;
	bool operator < (const sec& x) const
	{
		return l == x.l ? r < x.r : l < x.l;
	}
}a[N];
int n, ls_st = 1;
long long ans;
int main()
{
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		scanf("%d%d", &a[i].l, &a[i].r);
	}
	sort(a + 1, a + n + 1);
	for (int i = 2; i <= n; i++)
	{
		if (a[i - 1].r < a[i].l)
		{
			ans += a[i - 1].r - a[ls_st].l + 1;
			ls_st = i;
		}
	}
	ans += a[n].r - a[ls_st].l + 1;
	printf("%lld", ans);
	return 0;
}

P2082 WA 10分

2024/7/18 17:02
加载中...