啾咪,啾咪
查看原帖
啾咪,啾咪
930739
Chang__An__Li楼主2024/9/6 21:22

--一下文字因过于暴力而被封禁--

P1496。30分。大佬求救。

#include<bits/stdc++.h>
using namespace std;
long long n;
struct NODE{
	long long a,b;
}s[20010];
bool cmp(NODE a,NODE b){
	if(a.a<b.a)return true;
	else if(a.a==b.a){
		return a.b<b.b;
	}
	else return false;
}
int main(){
//	freopen("P1496_1.in","r",stdin);
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld%lld",&s[i].a,&s[i].b);
	}
	sort(s+1,s+n+1,cmp);
	int k=1;
	long long l=s[k].a;
	long long r=s[k].b;
	long long ans=0;
	while(k<=n){
		if(k!=n&&s[k+1].a<=s[k].b){
			r=s[k+1].b;
			k++;
		//	printf("%d can be connected with %d\n",k-1,k);
		}	
		else {
			ans+=r-l;
			k++;
		//	printf("%d can't be connected with %d,length is %d\n",k-1,k,ans);
			if(k!=n){
				l=s[k].a;
				r=s[k].b;
			}
		}		
	}
	printf("%d",ans);
	return 0;
}
2024/9/6 21:22
加载中...