40pts求助
查看原帖
40pts求助
661913
liwenxi1145144444楼主2024/6/16 13:23
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,l,r;
struct node{
	int x,y;
}a[20005];
bool cmp(node a,node b){
	if(a.x==b.x){
		return a.y<b.y;
	}
	return a.x<b.x;
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].x>>a[i].y;
	}
	sort(a+1,a+n+1,cmp);
	l=a[1].x;
	r=a[1].y;
	int ans=0;
	for(int i=2;i<=n;i++){
		while(a[i].x<=a[i-1].y&&i<=n){
			r=max(r,a[i].y);
			i++;
		}
		if(i>n){
			break;
		}
		ans+=r-l;
		l=a[i].x;
		r=a[i].y;
	}
	cout<<ans+r-l;
	return 0;
}
2024/6/16 13:23
加载中...