90分求助,#2wa
查看原帖
90分求助,#2wa
277664
随便AK楼主2020/6/17 17:02
#include<bits/stdc++.h>
using namespace std;
struct nod{
	int l,r;
}a[1000005];
int  n,tot,ans;
nod b[1000005];
bool cmp(nod g,nod k){
	if(g.l==k.l)return g.r<=k.r;
	return g.l<k.l;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].l>>a[i].r;
	}
	sort(a+1,a+n+1,cmp);
	b[++tot].l=a[1].l;
	b[tot].r=a[1].r;
	for(int i=2;i<=n;i++){
		if(a[i].r<=b[tot].r)continue;
		if(a[i].l<=b[tot].r){
			b[tot].r=a[i].r;
		}
		else {
			b[++tot].l=a[i].l;
			b[tot].r=a[i].r;
		}	
	}
	for(int i=1;i<=tot;i++){
		ans+=b[i].r-b[i].l;
	}
	cout<<ans;
	return 0;
}
2020/6/17 17:02
加载中...