求助
查看原帖
求助
385952
f2_longtian楼主2022/8/26 22:31
#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct QJ{
	ll s,t;
}a[100010];
bool cmp(QJ x,QJ y){
	if(x.s<y.s)return 1;
	else if(x.s==y.s&&x.t>y.t)return 1;
	return 0;
}
int main(){
	ll n;
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)scanf("%lld%lld",&a[i].s,&a[i].t);
	sort(a+1,a+n+1,cmp);
	int q=0;
	for(int i=1;i<=n;i++){
		for(int j=a[i].s;j<=a[i].t;j++){
			if(j<1)q++;
			else break;
		}
	}
	ll l=a[1].s,r=a[1].t,sum=0;
	for(ll i=2;i<=n;i++){
		if(a[i].s<=r){
			r=max(r,a[i].t);
		}
		else{
			sum+=r-l+1;
			l=a[i].s;
			r=a[i].t;
		}
	}
	sum+=r-l+1;
	cout<<sum-q;
	return 0;
}
2022/8/26 22:31
加载中...